Полностью удалить объект
Доброй ночи.
У нас имеется объект. Пример:
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, время: 08:23. |