【问题标题】:delete ref to object in array javascript删除对数组javascript中对象的引用
【发布时间】:2015-07-22 07:34:42
【问题描述】:

假设我们有代码:

var players = [];

function Player(){
  var num = players.length;
}

players.push(new Player()); //player

我可以从内存中删除这个播放器吗?例如:

players.splice(0, 1);

垃圾收集器会在这之后收集玩家吗?

【问题讨论】:

标签: javascript garbage-collection


【解决方案1】:

我建议看看Deleting Objects in JavaScriptWhen should I use delete vs setting elements to null in JavaScript?Memory Management(很好的参考,@Karthick)。

由于 Javascript 是垃圾回收,因此您不需要自己删除对象 - 当无法再引用它们时,它们将被删除。

但是,一旦您确定对象的引用已被使用,您就可以删除它:

如果您完成了对对象的引用,删除它们会很有用,因为这会为垃圾收集器提供更多关于可以回收的信息。

不过,这通常会为您解决,即使您遇到边缘情况,在小型应用程序中也不应该是性能问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-28
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    相关资源
    最近更新 更多