Полностью удалить объект
Доброй ночи.
У нас имеется объект. Пример: var new_obj = {'name':'peter', 'lastname':'petrelli'}; // удаляю его элементы for(var key in new_obj) { delete new_obj[key]; } // проверяю объект alert(new_obj); // всплывает - [object Object] Это значит, что наш объект ещё остался. Как же удалить созданный объект полностью? Спасибо. |
Объект жив пока жива хотя бы одна ссылка на него. В остальном о нём позаботится Garbage Collector.
Т.е. если очень надо, то можно сделать так: new_obj = null;но локальные переменные сами исчезнут с завершением работы функции.(если конечно их не замкнуть) |
не используй var при определениии объекта, тогда можешь сделать delete new_obj
|
Aetae,
В его случае ссылка на объект никогда не сдохнет |
Цитата:
Цитата:
|
<script> var new_obj = {'name':'peter', 'lastname':'petrelli'}; window.new_obj2 = new_obj = {'name':'peter', 'lastname':'petrelli'}; function d_delete (){ alert ("delete"); delete new_obj; delete new_obj2; }; function c_chek(){ alert(typeof new_obj); alert(typeof new_obj2); }; </script> <input type="button" onclick="d_delete()" value="delete"> <input type="button" onclick="c_chek()" value="chek"> |
К чему эти танцы? Присвоить null достаточно же.
|
Erolast,
Присвоив null Вы не удалите объект. Вы не читаете вопросы. |
Надо создать переменную, обявленную неявно (без вар или лэт), тогда можно спокойно удалить эту переменную с объектом через делет.
|
Часовой пояс GMT +3, время: 10:02. |