JavaScript如何销毁对象?

Finit
浏览 2176回答 2
2回答

Samaritan

最简单的办法就是把对象赋值为 nullobj = null;

qq_莫非

JavaScript的规范(ECMA-262 ECMAScript)没规定JavaScript引擎要如何实现对JavaScript对象的内存管理。实际实现中几乎所有JavaScript引擎都使用基于跟踪(trace)的GC来实现自动内存管理。编写JavaScript程序时只要管new出对象,JavaScript引擎在底下会通过分析对象图的可到达性来判断对象的存活,进而释放掉已无活引用的对象。所以要让JavaScript引擎有机会释放掉某个对象,就得确保整个程序里已经没有对那个对象的活引用。前面有人提到delete运算符,它可以用来删除变量或属性,但并不直接涉及删除/释放对象。如果指向某个对象的活引用当中有全局变量或别的对象的属性,那用delete来删除掉那些变量或属性自然是有助减少活引用的个数。到完全没有活引用指向该对象时,它就能在下次GC的时候被释放掉。
打开App,查看更多内容
随时随地看视频慕课网APP