所謂告誡函數(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]
複製代碼