JavaScript对象:销毁它们

jef*_*eon 5 javascript memory object

我必须维护一个包含30-40个属性的JavaScript对象,我每隔几秒就会更新一次.我已经读过在JavaScript中没有"释放"内存,浏览器会自动垃圾收集未使用的内存.

我的问题是:是否足以将对象本身设置为null,或者我是否需要将其所有属性设置为null然后将其设置为null?

var obj = [];
obj[prop1] = "123";
obj[prop2] = "456"; 
//...and so on...

// now to release the obj, is it enough if I just did:
obj = null; 
Run Code Online (Sandbox Code Playgroud)

Chr*_*oph 1

仅当对象不再可访问时才能收集该对象。您可以通过设置引用该对象的所有局部变量null(任何其他值也可以)并删除(或覆盖)引用该对象的其他对象的任何属性来实现此目的。

删除对象自己的属性或显式设置它们null不会在这方面为您带来任何好处:如果对象本身不存在,则对象的引用不会被视为“活动”。