如何删除Javascript中的对象以正确销毁它们(如果有的话,调用析构函数?)并防止内存泄漏?我看过两种方法:
delete obj;
和
obj = null;
但是即使阅读了this,我仍然不了解真正的区别和应该使用什么。
另外,我猜Javascript中没有真正的析构函数,但是在多个对象之间关系复杂的情况下,依靠垃圾收集器来防止内存泄漏真的足够了吗?
最佳答案
两者之间的主要区别是操作后obj
的值。考虑
x = 42
x = null
console.log(x) // prints: null
delete x;
console.log(x) // prints: undefined
分配
null
将为现有属性赋予新值。手术后它仍然存在。当您delete
一个属性时,它将被完全删除。
关于javascript - 使用delete或通过在Javascript中分配null来删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192093/