zoukankan      html  css  js  c++  java
  • 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
      
              //实现了定义在函数内部的函数,可以在外面调用
      
  • 相关阅读:
    JAVA中的流-简介(二)
    JAVA中的流-简介(一)
    Java中内部类简介
    应用小练习-自定义栈
    集合知识点(二)
    集合知识点(一)
    JAVA中的正则表达式简介
    从头文件中学习sfr和sbit
    PCB中实现元器件旋转一个角度放置
    DXP中插入LOGO字体方法(2)
  • 原文地址:https://www.cnblogs.com/dreamtown/p/14541330.html
Copyright © 2011-2022 走看看