Недавно мне посоветовали использовать Document.documentElement при запросе DOM для получения элемента html.
Это произошло из-за того, что я реорганизовал старую кодовую базу, чтобы заменить JQuery на ванильный JS. При этом я увидел:
$(‘html’)
Это способ JQueries для выбора всего элемента Html.
Поскольку я относительно новичок в javascript, я собирался использовать общий querySelector *.
document.querySelector(‘.elementsClassName’)
So:
document.querySelector(‘html’)
Когда коллега сказал мне, что это плохо для производительности.
Document.querySelector - это, по сути, операция поиска / поиска. Он сканирует весь документ, чтобы найти данный элемент, затем выбирает его и сохраняет в памяти.
Чтобы браузер не выполнял поиск по всему документу, document.documentElement возвращает корневой элемент документа.
Корневой элемент является единственным родительским элементом для всех остальных элементов. Элемент верхнего уровня.
В HTML-документе ‹html› ‹/html›.
Это означает, что когда среда выполнения JS выполняет Document.documentElement, она точно знает, куда идти, и не тратит время на поиск по всей DOM.
* С тех пор мне сказали, что есть лучший способ запросить DOM с точки зрения производительности.