Js函数arguments及高阶函数应用

函数的成员 – arguments
  • arguments: 函数在调用时,传入的所有的实参集合(类数组对象)
  • arguments.callee :arguments的一个属性,指向的是函数本身
  • 函数名.caller: 函数的调用者,如果在全局调用,返回的调用者为 null。
  • 函数名.length :形参的个数
  • 函数名.name: 函数的名称
        //arguments 记录的是所有实参
        //使用 arguments 模仿制作一个求最大数的方法
        function max(){
            var maxNum = arguments[0];
            for(var i = 0;i < arguments.length; i++){
               if(maxNum < arguments[i]){
                   maxNum = arguments[i];
               }
            }
            return maxNum;
        }
高阶函数
  • 如果一个函数可以作为另外一个函数的参数,那么它就是高阶函数

    function fn(fn2){
                console.log("先执行fn函数");
                fn2();
            }
            fn(function (){
                console.log("fn2 是高阶函数,执行fn函数中的fn2()时,跳转这里执行")
            })
    
  • 如果一个函数可以作为另外一个函数的返回值,那么它就是高阶函数

            //函数可以作为另外一个函数的返回值
            function outer(n){
                // 想要在外部执行inner函数 ---return
                return function inner(m){
                    console.log(n + m);
                }
            }
            // 在外部执行inner函数
            //outer(10);//这样调用outer给n赋值10,m就固定了,不会改变了
            var fun = outer(100);//将outer的执行 = 变量
            // fun存的就相当于是一个返回值--一个函数
            fun(22);//122
    
            //实现了定义在函数内部的函数,可以在外面调用
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值