//代码开始瓶盖 - 编译VS解读阶段的JavaScript
var a = 10;
function outer() {
function inner() {
console.log(a);
console.log(b);
};
var b = 20;
return inner;
}
var innerFn = outer();
innerFn();
//代码结束
我的问题是:
在闭包,函数从时间记忆范围的信息函数对象被创建(在上面的情况下,在编译阶段),但当时的分配(对于a和b)并没有真正发生。那么,如何保留变量a和b的值。
如果上述说明中出现错误,请纠正我的错误。
a)一个闭包在一个变量*范围*上关闭,不超过值b)没有“编译阶段” – Bergi