Наверно открою великую тайну из начала любого учебника по JavaScript
но переменные в JS хранятся только в объектах и ни где кроме объектов.
Если на объект нет ссылки то он удаляется сборщиком мусора.
т.е. специально для тех кто знает:
1. var создает переменную в текущем скопе и нигде более
2. объект где хранятся переменные называется скопом
3. любое обращение к переменной объявленной через var это поиск ее в текущем скопе а затем в вышестоящих скопах
как только удаляется ссылка на скоп скоп удаляется из памяти вместе со всеми переменными
Ссылка на скоп вызывает(называется) замыкание.
|