为全局变量分配新值的内存影响
Memory impact of assigning a new value to global variable
当全局变量被重新分配新值时会发生什么 - 旧内存会安全释放还是会泄漏?
例如,
gUI = {};
function myFunc1() {
gUI.selectedItem = new BigArray(1000);
}
function myFunc2() {
gUI.selectedItem = new BigArray(1000);
}
function release() {
gUI.selectedItem = null;
}
立即依次调用 myFunc1()
和 myFunc2()
是否安全,或者先将变量分配给 null
是否有帮助(在重新分配给另一个大对象之前) )?
我纯粹对内存压力感兴趣,并且担心在使用 new
分配新值时变量会泄漏旧内存。
Javascript 使用垃圾收集器回收无法从任何变量访问的对象的内存。所以旧的内存会自动释放。
当全局变量被重新分配新值时会发生什么 - 旧内存会安全释放还是会泄漏?
例如,
gUI = {};
function myFunc1() {
gUI.selectedItem = new BigArray(1000);
}
function myFunc2() {
gUI.selectedItem = new BigArray(1000);
}
function release() {
gUI.selectedItem = null;
}
立即依次调用 myFunc1()
和 myFunc2()
是否安全,或者先将变量分配给 null
是否有帮助(在重新分配给另一个大对象之前) )?
我纯粹对内存压力感兴趣,并且担心在使用 new
分配新值时变量会泄漏旧内存。
Javascript 使用垃圾收集器回收无法从任何变量访问的对象的内存。所以旧的内存会自动释放。