0
点赞
收藏
分享

微信扫一扫

javascript——函数

文章目录

函数

函数的概念

函数的使用

函数的参数

function getSum(num1,num2){
    console.log(sum1+num2);
}
getSum(1);//NaN
//如果实参的个数小于形参的个数 形参可以看作是不用声明的变量 num2是一个变量但没有接收值 结果就是undefined

函数的返回值

        function getSum() {
            return 666;
        }
        console.log(getSum());

注意事项

return 终止函数并只返回一个值

//求任意两个数的加减乘除结果
function getResult(num1,num2){
    return [num1+num2,num1-num2,num1*num2,num1/num2]
}
var re = getResult(1,2);
console.log(re);

函数没有return 返回undefined

function fun(){
    
}
console.log(fun());

arguments的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中 , arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参

arguments展示形式是一个伪数组,因此可以进行遍历,伪数组具有以下特点:

  • 具有length属性
  • 按索引方式存储数据
  • 不具有数组的push,pop方法
        //只有函数才有arguments对象 而且是每个函数都内置好了这个arguments
        function fun() {
            console.log(arguments);
            //可以按照数组的方式遍历
            for (var i = 0; i < arguments.length; i++) {
                console.log(arguments[i]);
            }
        }
        fun(1, 2, 3);
        fun(1, 2, 3, 4, 5);
        //伪数组 并不是真正的数组

函数案例

利用函数求任意个数的最大值

        function getMax() {
            var max = arguments[0];
            for (var i = 0; i < arguments.length; i++) {
                if (arguments[i] > max) {
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1, 2, 5, 4, 6, 3));
        console.log(getMax(23, 324, 3, 1, 23, 12, 32, 32));

翻转数组

        function reverse(arr) {
            var newArr = [];
            for (var i = arr.length - 1; i >= 0; i--) {
                newArr[newArr.length] = arr[i];
            }
            return newArr;
        }
        var arr1 = reverse([1, 2, 3, 4, 5, 6]);
        console.log(arr1);

冒泡排序

        function sort(arr) {
            for (var i = 0; i < arr.length - 1; i++) {
                for (var j = 0; j < arr.length - i - 1; j++) {
                    if (arr[j] > arr[j + 1]) {
                        var temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
            return arr;
        }
        var arr1 = sort([4, 5, 6, 2, 32, 1, 1, 3]);
        console.log(arr1);
        console.log(sort([3, 2, 4, 1, 5]));

2月份的天数

        function backDay() {
            var year = prompt('请输入年份');
            if (isRunYear(year)) {
                alert(year + '是闰年,2月有29天');
            } else {
                alert(year + '是平年,有28天')
            }
        }
        backDay();

        function isRunYear(year) {
            var flag = false;
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                return true;
            }
            return flag;
        }

函数的两种声明方式

        //函数表达式--匿名函数
        var fn = function() {
            console.log('通过函数表达式声明');
        }
        fn();
        //fn 是变量名 不是函数名
        //函数表达式声明方式跟变量差不多,只不过变量里面存的是值 而 函数表达式里存的是函数
        //函数表达式也可以传递参数
举报

相关推荐

0 条评论