При использовании JavaScript мы построения запросов к DOM
с помощью getElementById
(или getElementsByTagName
и т.д.), на более низком уровне, браузер выполняет поиск с помощью поиска в глубину (предварительно -заказ)?getElementById и поиск в глубину (предварительный заказ)
ответ
Не имеет значения, не так ли? Фактическая реализация не указана, интересен только результат.
getElementById
usually optimized by a lookup table, поэтому нет никакого поиска деревьев.
document.getElementsByTagName
возвращается HTMLCollection
(см также document order for DOM selection method), который сортируется в "tree order":
Для дерева это предзаказ, глубины первого обхода дерева.
Это интересный вопрос. Это зависит от реализации, я думаю, что Хэш - это еще одна возможная структура данных, чтобы сделать это.
Есть аналогичный вопрос здесь: What is the implementation of GetElementByID()?
У меня красный тот, но спасибо в любом случае :-) – ContentiousMaximus
- 1. Двоичное дерево: предварительный заказ, заказ и заказ
- 2. Графический предварительный заказ/послепорядок?
- 3. Предварительный заказ и сообщение после заказа
- 4. Предварительный поиск в LINQ
- 5. Предварительный поиск, PHP и MySQL
- 6. MySQL предварительный заказ по запросу
- 7. Предварительный заказ оператора GROUP BY
- 8. Удалить предварительный заказ заказа программно
- 9. Предварительный заказ для последующего обхода
- 10. Путь поиск, используя глубину и BFS
- 11. Mysql поиск матч и заказ
- 12. Предварительный заказ php в сценарии выпадающего списка
- 13. SQL текст поиск и заказ
- 14. Finding цель в поиск в глубину
- 15. Notepad ++ Предварительный поиск
- 16. Предварительный поиск таблицы в рельсах
- 17. Предварительный поиск в угловом js
- 18. Haskell: поиск в глубину для упорядоченного дерева
- 19. Получение StackOverflowError в глубину Первый поиск
- 20. Переполнение стека в глубину Первый поиск
- 21. Spotify Предварительный просмотр API поиск и альбом
- 22. Двоичный предварительный заказ дерева посещений псевдокода
- 23. Итеративный предварительный заказ k-ary обход дерева
- 24. Добавить фиксированный налог на предварительный заказ
- 25. Сформировать обход после заказа учитывая в заказ и предварительный заказ обход
- 26. Двоичное дерево Предварительный заказ и обходные очереди идентичны?
- 27. Полнота поиска в глубину
- 28. Symfony2, Doctrine поиск и заказ по расстоянию
- 29. Поиск корня, который минимизирует глубину дерева
- 30. Поиск пользователей и возвращение друзей первый (заказ)
Логически это имеет смысл, что ответ будет да. Тем не менее, реализация варьируется от браузера до браузера, и в конечном итоге это действительно не имеет значения, если результат соответствует спецификации. –
Спецификация DOM не предусматривает конкретных алгоритмов: это просто API. И я не думаю, что имеет смысл использовать один и тот же алгоритм для поиска по идентификаторам (которые уникальны), чем по классу (который может повторяться). –