Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Оптимизация обращения к DOM (https://javascript.ru/forum/misc/51369-optimizaciya-obrashheniya-k-dom.html)

Voronar 04.11.2014 23:03

Оптимизация обращения к DOM
 
Здравствуйте.
Читаю сейчас книгу Дэвида Хермана и он говорит, что частое обращение к DOM по средствам, например, метода getElementById способствует падению производительности. Он советует хранить DOM-объект в переменной. После этого у меня назрел вопрос.
Будет ли рациональным в начале скрипта, после загрузки дерева DOM, пройтись циклом по всем необходимым элементам(например, только по элементам <canvas>) и создать массив или отдельные переменные с id элемента в качестве имени переменной, которые будут хранить ссылки на DOM-элементы?

P.S. Я могу ошибаться, Дэвид мог говорить про другой метод, начинающийся с getElementBy.

MallSerg 04.11.2014 23:29

Небудет

Voronar 04.11.2014 23:46

Цитата:

Сообщение от MallSerg (Сообщение 339042)
Небудет

Можете обосновать ответ на примере?

Aetae 05.11.2014 05:18

Он говорит только о том, что не следнует сотню раз запрашивать один и тот же элемент.
Каждый раз когда нужен какой-то элемент и ли коллекция, с которыми следует провести несколько действий - получайте этот элемент один раз и сохраняйте ссылку в переменную, после чего работайте посредством оной.
То что предлагаете вы - бессмысленно и затормозит начальную загрузку.
В целом же это экономия на спичках: чтобы увидеть реальную задержку надо в цикле получать элементы по сложному селектору сотни тысяч раз.

Voronar 05.11.2014 07:42

Спасибо. Приму во внимание ваш совет.


Часовой пояс GMT +3, время: 15:28.