javasc 高阶函数学习

来源:互联网 发布:excel多个表格数据求和 编辑:程序博客网 时间:2024/04/29 02:45
 function fun(){
   return function(){                               //在这个被返回的新函数里面,f函数被调用了,而且参数是新函数的参数
    var res = f.apply(this,arguments);
return res;                                    //返回结果
   };
  }

  var f = function(x){                            //函数f,这个函数f就是判断通过参数被传入的数值是不是可以被2整除
   return x % 2 ==0;
  };

  var fun_ = fun(f);                               //得到新函数,作为下面的一个数组之用

  alert([21,23,45].every(fun_));         //让一个数组调用这个新函数,并且打印出结果


在这里,判断一个数组是不是什么,需要在every()中写入一个函数作为判断之用,而这个判断函数怎么来呢?在这里,通过高阶函数来产生一个新函数,而这个新函数其实并没有核心功能,我们可以看到,新函数的核心其实是另外一个函数,在这里就是f函数,这个f函数判断一个数是不是可以被2整除。新函数调用了f函数以后再把f函数的结果返回出去。这样的函数编写方法好处在于可以代码可以看起来更加清晰,把一些核心的东西分离开来。

原创粉丝点击