我想我明白爲什麼變量,他們被宣佈在函數之外存在設定的變量,因爲你返回另一個功能:在封閉範圍
myFunction = function() {
var closure = 'closure scope'
return function() {
return closure;
}
}
A = myFunction(); // myFunction returns a function, not a value
B = A(); // A is a function, which when run, returns:
console.log(B); // 'closure scope'
,它的現在寫的,調用的方式()就像一個getter。
問:如何編寫myFunction以便調用A(123)是一個setter?
說「沒有價值」是有點誤導;函數*是*值。 – icktoofay