Показать сообщение отдельно
  #58 (permalink)  
Старый 18.11.2011, 21:19
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Сообщение от trikadin Посмотреть сообщение
В случае с childNodes она как раз таки представлена хешем.
Вам w3 не авторитет?
Сообщение от Википедия
По реализации

На уровне реализации коллекция может представлять собой одну из следующих структур данных:

* Массив
* Односвязный список
* Двусвязный список
* Стек
* Хеш-таблица
* Битовый массив
Сообщение от trikadin Посмотреть сообщение
elem.parentNode.removeChild(elem)
И где здесь обращение к объекту childNodes? Вы обратились к объекту-хранителю связанного списка.
Сообщение от trikadin Посмотреть сообщение
nextChild и previousChild тоже не хранят элементы. Собственно, суть в том, что элемент - он просто есть. На него может быть сколько угодно ссылок - на элемент это не влияет (ну, почти). Если в C++, скажем, элементы добавляются в двусвязный список, а с удалением массива - исчезают, то здесь можно удалить хоть всех предков элемента - если на него будет ещё хоть одна ссылка, он будет жить.
Ну во-первых, все эти механизмы не зависят от языка программирования.
Во-вторых в двусвязных списках ни где не используются массивы - только объекты и указатели, туда-сюда.
В-третьих, я разве писал, что nextChild и previousChild хранят элементы? Они хранят указатели на объекты элементов, как это и делается в любом двунаправленном списке. А коллекция childNodes является уже следствием этого списка, просто как дополнительный словарь-указатель (типа оглавления с закладками на уникальные name и id), и, подозреваю, что нигде во внутренних механизмах браузера не используется ни для рендеринга, ни для x-path обхода дерева. Поднимем исходники какого-нибудь браузера?
Ответить с цитированием