![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Доброго времени. Не просветите, в каком контексте создается этот div? Где и как висит если в DOM дереве его не видно и продолжает ли он засорять память если я удалю последнюю переменную с ссылкой на него. Что будет если я применю создание без присвоения ссылки переменной? Это будет бесполезный засор памяти? Этот див можно будет достать только через childNodes[i]? -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Надо, наверное, в документ его добавить, чтобы он в дереве появился.
-------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
PHP-DIRECTOR, не издевайся наверное, да ...
Что до appendChild будет, вот в чем вопрос. Это сообщение отредактировал(а) Иль - 15.6.2005, 19:12 -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
до appendChild ничего не будет. Он в памяти лежит и его innerHTML имеет строку "<div></div>"
Больше в принципе и нету ничего, всё остальное null. И если ты удалишь переменную на него или не присвоишь никакой переменной, то после этого его уже никак и ничем не достанешь и сборщик мусора по идее его прибьёт, если он ему попадётся |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Нет, это лежит в outerHTML, который есть фича ИЕ. Иль, ты созда обьект, он схавал немного памяти, затем delete который в том синтаксисе что у тебя не должен ничего делать. Оператор delete удаляет свойства обьектов/массивов и (если не ошибаюсь) локальные переменные. Глобальные переменные им убить нельзя. В эффективном смысле delete что_то идеентично что_то = undefined. Сборщик мусора убьёт обéкты на которые нет более ссылок. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Иль |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Верно, не обращал на синтаксис внимания, а как позавчера логика полетела (хорошо дебаггер, а так бы труба!) - сразу мануалы читать юзаю:
теперь уяснил. А вообще понял, что просто домовский метод .createElement создает в JS DOM`овский объект, и только такой объект мы можем вставить в дом-дерево. -------------------- Ты виндусятник?... А я да. |
||||||
|
|||||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Заинтересовался. Закралось сомнение. Проверил, можно, но не всегда Яж почему глюк словил - до этого удалял глобальные переменные, а тут "догодался" удалить объект и получил false Вот что выдают результаты тестинга: Удалить глобальную/локальную переменную в которой лежит примитивное значение или массив можно. Удалить переменную, ссылающуюся на объект или ноду нельзя. Можно удалить свойство объекта или массива ссылающееся на объект или ноду. Соответственно потеряеются только данное свойство и ссылка. Сам объект возможно удалится сборщиком мусора только если на него нет больше ссылок. Вот так получается, вот такая заморочка. (текст выложен на правах опровержимой аксиомы -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Если почитаешь спецификацию от W3C, то узнаешь что:
О глобальных переменных и delete. Согласно ECMA-262 переменные обьявленные в "глобальном контексте" ключевым словом var не могут быть удаленны:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Иль |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Sardar, спсб. Тонко подмечено!
жуть, что я этого не знал, хотя вроде и не применял (завтра все перепроверю и попеределаю)
каюсь, как доделаю, возьмусь искать переводы. Можно и на Антглитском помучится - полезно будет Добавлено @ 02:08 -------------------- Ты виндусятник?... А я да. |
||||||
|
|||||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Эм... да? Я такого тоже не знал или не понял что ты написал |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Думаю это разьяснит:
Рефлекторным движением, по крайней мере у меня, хочеться вызвать removeChild на div:test -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |