【发布时间】:2015-05-27 08:42:41
【问题描述】:
如下代码:
var foo = function() {
var a = 1; // closure var
return function() { // closure fun
console.log(a);
}
};
var bar = foo();
当 foo 退出(或者说,返回)时,我们知道变量 a 不会被销毁并保留在内存中(这就是闭包起作用的原因)。所以我的问题是存储、堆栈或堆的变量在哪里?
【问题讨论】:
标签: javascript closures heap-memory stack-memory