【问题标题】:Javascript memory management: delete and spliceJavascript内存管理:删除和拼接
【发布时间】:2013-09-04 23:33:56
【问题描述】:

当我使用 splice 方法从 javascript 中的数组中删除项目时,会返回已删除项目的数组。

var a = [{name:'object1'},{name:'object2'},{name:'object3'}];

// a.splice(0,2) -> [{name:'object1'},{name:'object2'}]
// Where do these guys live now? Are they really gone?

然后我是否需要对这些返回的对象调用“删除”以确保它们被取出内存?垃圾收集器只是处理这个吗?我可以相信吗?

【问题讨论】:

    标签: javascript performance memory-management


    【解决方案1】:

    对象已经“消失”了(从您的角度来看),GC 会在它认为合适的时候实际释放内存。 JavaScript 不会让您明确控制垃圾收集。

    如果您关心性能,通常最好(在分析之后,当然)专注于保存分配,而不是担心事情何时会被 GC,因为这种行为会根据您使用的 JS 引擎进行更改。

    【讨论】:

      猜你喜欢
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 2013-06-25
      相关资源
      最近更新 更多