标签:
所谓高阶函数(higher-order function) 就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数。
下面的例子接收两个函数f()和g(),并返回一个新的函数用以计算f(g());
//返回一个新的可以计算f(g())的函数 //返回的函数h()将它所有的实参传入g(),然后将g()的返回值传入f() //调用f()和g()时的this值和调用h()时的this值是同一个this function compose(f,g){ return function(){ return f.call(this,g.apply(this,arguments)); } } var square=function(x){ return x*x; } var sum=function(x,y){ return x+y; } var squareofsum=compose(square,sum); squareofsum(2,3);// 25
来源于《JavaScript权威指南》 8.8.2
标签:
原文地址:http://www.cnblogs.com/-------perfect/p/4598319.html