为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript如何销毁对象?

JavaScript如何销毁对象?

Finit 2017-10-10 13:47:47
查看完整描述

2 回答

?
Samaritan

TA贡献61条经验 获得超38个赞

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


obj = null;

查看完整回答
反对 回复 2017-10-10
?
qq_莫非

TA贡献257条经验 获得超92个赞

JavaScript的规范(ECMA-262 ECMAScript)没规定JavaScript引擎要如何实现对JavaScript对象的内存管理。实际实现中几乎所有JavaScript引擎都使用基于跟踪(trace)的GC来实现自动内存管理。
编写JavaScript程序时只要管new出对象,JavaScript引擎在底下会通过分析对象图的可到达性来判断对象的存活,进而释放掉已无活引用的对象。

所以要让JavaScript引擎有机会释放掉某个对象,就得确保整个程序里已经没有对那个对象的活引用。

前面有人提到delete运算符,它可以用来删除变量或属性,但并不直接涉及删除/释放对象。如果指向某个对象的活引用当中有全局变量或别的对象的属性,那用delete来删除掉那些变量或属性自然是有助减少活引用的个数。到完全没有活引用指向该对象时,它就能在下次GC的时候被释放掉。


查看完整回答
反对 回复 2017-10-10
  • 2 回答
  • 0 关注
  • 2232 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信