为全局变量分配新值的内存影响

时间:2015-04-25 07:42:31

标签: javascript performance memory-management

当全局变量被重新分配新值时会发生什么 - 旧内存是安全释放还是泄漏?

例如,

gUI = {};

function myFunc1() {
   gUI.selectedItem = new BigArray(1000);
}
function myFunc2() {
   gUI.selectedItem = new BigArray(1000);
}
function release() {
   gUI.selectedItem = null;
}

是否可以安全地一个接一个地调用myFunc1()myFunc2(),还是先将变量分配给null(在重新分配给另一个大对象之前)?

我纯粹对内存压力感兴趣,并担心在使用new分配新值时变量泄漏旧内存。

1 个答案:

答案 0 :(得分:3)

Javascript使用垃圾收集器来回收无法从任何变量访问的对象的内存。因此,旧内存将自动释放。