JS的学习

arguments

2021-11-27  本文已影响0人  wy22

实现数组的高阶函数

  let arr = [123,345,7,98,26]

        function sort(arr,callback){

            for(let i=0;i<arr.length-1;i++){

                for(let j=0;j<arr.length-1-i;j++){

                    if(callback(arr[j],arr[j+1])>0){

                        let temp = arr[j]

                        arr[j] = arr[j+1]

                        arr[j+1] = temp

                    }

                }

            }

        }

        sort(arr,(a,b)=>a-b)

        console.log(arr);

        sort(arr,(a,b)=>b-a)

        console.log(arr);

  function fn1(a,b,c){

            //方法在调用时,如果没有传递实参,形参的值是undefined

            console.log(a,b,c);

            // arguments是函数内部的一个内置对象

            // arguments对象里面保存这方法的所有参数

            // arguments对象里面有个一个callee方法,该方法指向当前方法本身

            console.log(arguments);

            let sum = 0

            for(let i=0;i<arguments.length;i++){

                sum += arguments[i]

            }

            return sum

        }

        let sum = fn1(100,200,300,400,500,600)

        console.log(sum);

上一篇 下一篇

猜你喜欢

热点阅读