我從Headfirst Javascript書中得到了這段代碼。我將函數名稱更改得更清晰。我正在試圖圍繞這個包裹我的頭。試圖理解這個函數作爲值
我用一個數字賦值給函數outer。這個數字仍然是由於某種原因 - 返回一個內部參考n = num(它返回的是增加的值?
任何時候我改變外部n值,內部將使用該新值? 我相信我是對的即,是否有任何地方我可以閱讀更多關於它?看到更好的例子嗎?或者,任何人都可以解釋這更好的?
function outer(n) {
\t var inner = function(x) { //or x = 0
\t return n + (x || 0); //added default 0 for testing to prevent NaN
}
return inner;
}
var num = 2;
var add = outer(num);
console.log(`Adding 2 to num(${num}): ${add(2)}`);
add = outer(5);
console.log(add());
console.log(add(2));
什麼是你的** **的實際問題? **重新定義**您的**真實**問題並重試。你的例子是**有缺陷** - theres沒有函數稱爲'add2()' – Xatenev
我認爲你正在尋找的單詞是*部分應用*和*咖啡*。使用這些術語,你應該能夠在網上找到解釋 – UnholySheep