Можно ли удалить сам объект, а не ссылку - PullRequest
6 голосов
/ 24 февраля 2011
var a = {
    "example" : true
};

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

delete x[0];

console.log(y);

В приведенном выше коде можно было бы удалить удаленную, а не только ссылку в x?

Ответы [ 2 ]

10 голосов
/ 24 февраля 2011

Это зависит от сборщика мусора.Пока есть какая-либо ссылка на объект, он не будет собирать мусор.

Если вы хотите, чтобы он был очищен, убедитесь, что больше нет ссылок.

Итак, чтобы ответить на вашвопрос, нет, нет способа явно уничтожить объект.Если a и y[0] все еще ссылаются на него, вы не можете сделать это из своей переменной x.

Для ясности, x[0] не ссылается на a.Он указывает на тот же объект в памяти, на который ссылается a.

1 голос
/ 24 февраля 2011

Я думаю, вы должны ответить на этот вопрос.

Удаление объектов в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...