arguments使用

    <script>
        function fn(){
   
            console.log(arguments);//里面存储了所有传递过来的实参
            console.log(arguments.length);
            console.log(arguments[2]);
        }
        fn(1,2,3);
    </script>

伪数组,并不是真正意义上的数组
具有数组的length属性
按照索引的方式进行存储
没有真正数组的一些方法 pop() push()等等

可以按照数组的方式遍历arguments

    <script>
        function fn(){
   
            for(var i=0;i<arguments.length;i++){
   
                console.log(arguments[i]);
            }
        }
        fn(1,2,3);
    </script>

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

    <script>
        function getMax(){
   
            var max = arguments[0];
            for(var i=1;i<arguments.length;i++){
   
                if(arguments[i] > max){
   
                max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1,2,3));
        console.log(getMax(54,62,35,16,25));
    </script>

利用函数翻转数组

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

函数封装冒泡排序

    <script>
        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([1,4,2,9]);
        console.log(arr1);
        var arr2 = sort([23,64,51,25]);
        console.log(arr2);
    </script>

利用函数判断闰年

    <script>
        function isRunYear(year){
   
            //如果是闰年,返回true,否则false
            var flag = false;
            if(year % 4 == 0&&year %100 != 0 ||year % 400 == 0){
   
                flag = true;                
            }
            return flag;
        }
        console.log(isRunYear(2000));
    </script>

函数可以调用另一个函数

    <script>
        function fun1(){
   
            console.log(111);
            fun2();
            console.log('fn1');
        }
        function fun2(){
   
            console.log(222);
            console.log('fn2');
        }
        fun1();
    </script>

输出结果:
111
222
fn2
fn1

输出二月份天数

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

        //判断函数
        function isRunYear(year){
   
            //如果是闰年,返回true,否则false
            var flag = false;
            if(year % 4 == 0&&year %100 != 0 ||year % 400 == 0){
   
                flag = true;                
            }
            return flag;
        }
    </script>

函数的两种声明方式

利用函数关键字自定义函数(命名函数)

    <script>
        function fn1(){
   

        }
        fn1();
    </script>

函数表达式(匿名函数)

    <script>
        var 变量名 = function(){
   };
    </script>