Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2014, 23:03
Аспирант
Отправить личное сообщение для Voronar Посмотреть профиль Найти все сообщения от Voronar
 
Регистрация: 15.02.2013
Сообщений: 55

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

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

Последний раз редактировалось Voronar, 04.11.2014 в 23:07.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2014, 23:29
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Небудет
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2014, 23:46
Аспирант
Отправить личное сообщение для Voronar Посмотреть профиль Найти все сообщения от Voronar
 
Регистрация: 15.02.2013
Сообщений: 55

Сообщение от MallSerg Посмотреть сообщение
Небудет
Можете обосновать ответ на примере?
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2014, 05:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Он говорит только о том, что не следнует сотню раз запрашивать один и тот же элемент.
Каждый раз когда нужен какой-то элемент и ли коллекция, с которыми следует провести несколько действий - получайте этот элемент один раз и сохраняйте ссылку в переменную, после чего работайте посредством оной.
То что предлагаете вы - бессмысленно и затормозит начальную загрузку.
В целом же это экономия на спичках: чтобы увидеть реальную задержку надо в цикле получать элементы по сложному селектору сотни тысяч раз.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2014, 07:42
Аспирант
Отправить личное сообщение для Voronar Посмотреть профиль Найти все сообщения от Voronar
 
Регистрация: 15.02.2013
Сообщений: 55

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
инициализация плагинов до вставки html-я в DOM FanAizu jQuery 3 19.01.2014 01:16
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
IE баг со скоростью обработки DOM Rootpassword Events/DOM/Window 2 13.02.2012 18:16
Новый элемент отсутствует в DOM модели StrSprut jQuery 4 19.09.2011 12:50
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26