当全局变量被重新分配新值时会发生什么 - 旧内存是安全释放还是泄漏?
例如,
gUI = {};
function myFunc1() {
gUI.selectedItem = new BigArray(1000);
}
function myFunc2() {
gUI.selectedItem = new BigArray(1000);
}
function release() {
gUI.selectedItem = null;
}
是否可以安全地一个接一个地调用myFunc1()
和myFunc2()
,还是先将变量分配给null
(在重新分配给另一个大对象之前)?
我纯粹对内存压力感兴趣,并担心在使用new
分配新值时变量泄漏旧内存。
答案 0 :(得分:3)
Javascript使用垃圾收集器来回收无法从任何变量访问的对象的内存。因此,旧内存将自动释放。