Когда память, на которую ссылается объект Javascript, освобождается после удаления последней ссылки? - PullRequest
1 голос
/ 07 марта 2011

Допустим, я создал большой объект в области видимости. На него ссылаются детские прицелы, но все они выходят изящно. И никакого закрытия, ссылающегося на это вообще. После выхода из этой области я предполагаю, что последняя ссылка на объект удалена, верно? Освобождается ли память объектом, освобожденным сразу, или он помечен как свободный и должен ждать, пока сборщик мусора не удалит его?

1 Ответ

4 голосов
/ 07 марта 2011

Сборка мусора зависит от реализации Javascript.Теоретически, объекты должны быть удалены после того, как все ссылки на них удалены.Если вы определяете объект в области действия, и ничто за пределами области действия не ссылается на него (например, добавление его в массив вне области действия будет внешней ссылкой), его следует собирать через некоторое время после выхода из области действия.

Это более подробное объяснение .

...