一個函數(shù)接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為 高階函數(shù)信柿。
一個最簡單的高階函數(shù):
function add(x, y, f) {
return f(x) + f(y);
}
當(dāng)我們調(diào)用 add(-5, 6, Math.abs)
時冀偶,參數(shù) x,y 和 f 分別接收 -5渔嚷,6 和函數(shù) Math.abs
进鸠,根據(jù)函數(shù)定義,我們可以推導(dǎo)計(jì)算過程為:
x = -5;
y = 6;
f = Math.abs;
f(x) + f(y) ==> Math.abs(-5) + Math.abs(6) ==> 11;
return 11;
用代碼驗(yàn)證一下:
add(-5, 6, Math.abs); // 11