我想我理解为什么变量存在于声明它们的函数之外,因为你正在返回另一个函数:
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() 就像一个吸气剂。
问:如何编写 myFunction 以便调用 A(123) 是一个 setter?