《JavaScript权威指南》 第八章 高阶函数一节,有这样类似的一个例子:
function f(x){
return x+1
}
function mapper(f){
return function(a){
return a.map(f);
}
}
var m1=mapper(f);
m1([3,4,5]) // [4,5,6]
[3,4,5].map(f) //[4,5,6]
mapper函数和数组的map()方法实现了同样的计算,“但要首先理解这两个函数的不同,理解这一点至关重要”
我能理解的是,这两个函数mapper返回的是个闭包,参数f是返回函数的外层函数的一个变量,那么究竟要理解哪个不同,这个“至关重要”就是怎样的一个至关重要
学习是最好的投资!