Недавно мне посоветовали использовать 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 с точки зрения производительности.