高階函數(shù)英文叫Higher-order function。那么什么是高階函數(shù)?
JavaScript的函數(shù)其實都指向某個變量。既然變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。
一個最簡單的高階函數(shù):
function add( x, y, f){
return f(x) +f(y);
}
當我們調(diào)用 add(-1,-2,Math.abs)的時候,-1, -2, Math.abs 分別傳遞給 x, y 和 f。內(nèi)部的 運算操作是:
return (Math.abs(-1) + Math.abs(-2)); 結(jié)果為3. ? ? ? 驗證一下
打開chrome瀏覽器,右鍵-->檢查 點擊console 輸入:add(-1,-2,Math.abs)
輸入為:3
add(-1,-2,Math.abs) // 結(jié)果為3

摘錄廖雪峰的js教程,鏈接地址:
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499355829ead974e550644e2ebd9fd8bb1b0dd721000