问题
var a = {
"example" : true
};
var x = [a], y = [a];
delete x[0];
console.log(y);
In the above code, would it be possible to have a deleted, not just the reference in x ?
回答1:
That's up to the garbage collector. As long as there's some reference to the object, it will not be garbage collected.
If you want it to be cleaned up, make sure there are no more references.
So to answer your question, no, there's no way to explicitly destroy an object. If a and y[0] are still referencing it, you can't do it from your x variable.
To be clear, x[0] is not referencing a. It is pointing to the same object in memory that a is referencing.
回答2:
i think you should refer this question.
Deleting Objects in JavaScript
来源:https://stackoverflow.com/questions/5097450/is-it-possible-to-delete-the-object-itself-not-the-reference