所谓告诫函数(higher-order function) 就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数,奉上一个 demo
// 利用数组的 map()方法
let map = function(a,f){return a.map(f);}
// 改函数接收一个函数 f 返回一个新函数。新函数里面动态写入了 f,新函数的参数是 a
function mapper(f) {
return function(a) {return map(a,f);}
}
let increment = function(x) {return x + 1;}
let incrementer = mapper(increment);
// 此时 incrementer已经是一个新的函数,increment 已经被写入进去
incrementer([1,2,3])//[2,3,4]