zoukankan      html  css  js  c++  java
  • JavaScript 里 new 出来的对象 怎么销毁它?

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

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

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


    作者:RednaxelaFX
    链接:http://www.zhihu.com/question/21628109/answer/18818671
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
    有人说;只需要把变量对对象的引用断开就可以了,如:var o = new Object(); o = null;
  • 相关阅读:
    Shader Forge学习
    Unity 编辑器扩展
    DoTween
    游戏AI之群组行为
    Unity与服务区交互数据
    NGUI制作流光效果
    NGUI组件整理总结
    Resharp使用简记
    C#使用LitJson对Json数据解析
    BehaviorDesigner学习
  • 原文地址:https://www.cnblogs.com/coding4/p/5447039.html
Copyright © 2011-2022 走看看