是否可以删除对象本身,而不是引用

时间:2011-02-23 21:33:42

标签: javascript reference

var a = {
    "example" : true
};

var x = [a], y = [a];

delete x[0];

console.log(y);

在上面的代码中,是否可以删除,而不仅仅是x?

中的引用

2 个答案:

答案 0 :(得分:10)

这取决于垃圾收集器。只要有一些对象的引用,它就不会被垃圾收集。

如果您想要清理它,请确保没有更多参考。

所以回答你的问题,不,没有办法明确销毁一个对象。如果ay[0]仍然引用它,则无法通过x变量执行此操作。

要明确指出,x[0]未引用a。它指向a引用的内存中的同一对象。

答案 1 :(得分:1)

我认为你应该提出这个问题。

Deleting Objects in JavaScript