function outer() {
var n = 999;
nAdd = function() { n++; };
function fun() { return n; }
return fun;
}
var result1 = outer();
var result2 = outer();
console.log(result1());//999
console.log(result2());//999
nAdd();
console.log(result1());//999
console.log(result2());//1000
不明白,,第三个输出不应该也是1000吗??
每次调用
outer()
都会产生一个新的作用域,所以result1
和result2
所对应的n
是不一样的。