Как стать автором
Поиск
Написать публикацию
Обновить

Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров14K
Всего голосов 33: ↑33 и ↓0+41
Комментарии5

Комментарии 5

НЛО прилетело и опубликовало эту надпись здесь

[cardTitle.textContent, cardBody.textContent] = [title, body];

зачем нужно делать подобные хитрожопые конструкции?

const fragment = document.createDocumentFragment();
for (let i = 0; i < 1000; i++) {
  const li = document.createElement('li');
  li.textContent = `Item ${i}`;
  fragment.appendChild(li);
}
document.getElementById('myList').appendChild(fragment);

Данный подход позволяет избежать частых перекомпановок и обновлений, поскольку все новые элементы добавляются в DOM за один раз, а не по отдельности.

в приведенном примере в любом случае не будет "частых перекомпоновок и обновлений", поэтому вставка в DocumentFragment добавит накладных расходов и уменьшит (а не увеличит) производительность.

НЛО прилетело и опубликовало эту надпись здесь

Разве при appendElement перекомпоновка не происходит автоматом? Или добавлена оптимизация на такой случай?

Спасибо за AbortController, удаляющий все обработчики разом. Раньше использовал его для отмены сетевых запросов только.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий