【发布时间】:2013-03-31 23:38:28
【问题描述】:
我想我理解为什么变量存在于声明它们的函数之外,因为你正在返回另一个函数:
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'
现在的写法,调用 A() 就像一个 getter。
问:如何编写 myFunction 以使调用 A(123) 成为 setter?
【问题讨论】:
-
说“不是价值”有点误导;一个函数是一个值。
标签: javascript closures