var foo = function () {
var x = 0;
var bar = function () {
x++;
console.log("bar x:" + x);
}
return bar;
}
var fn = foo();
for (var i = 0; i < 5; i++) {
fn();
}
如上面的demo,每调用fn()一次,x就增加1,意味着x并没有被gc,那么是否意味着这个x永远都不会被gc,那不就内存泄漏了,如果是这样,要怎样才能使fn()调用结束后被gc呢?