Я пытаюсь настроить кеширование jQuery и как он улучшает производительность и как ее следует использовать?jQuery Кэширование и перемещение объектов
Как я понимаю, при использовании селектора jQuery вы выполняете поиск DOM и создаете объект jQuery, который вы можете перемещать. Означает ли это, что если вы создаете объект jQuery тега body html, вы можете избежать необходимости пересекать DOM при создании новых объектов jQuery? Будет ли какой-нибудь момент для этого?
Учитывая ...
var htmlBody = $('body');
$('header',htmlBody).css('background','green');
$('footer',htmlBody).css('background','yellow');
бы выше фрагмент кода будет дешевле/использовать меньше ресурсов, чем ...
$('header').css('background','green');
$('footer').css('background','yellow');
Вы должны действительно профилировать (посмотрите на инструменты разработчика ваших любимых браузеров), чтобы вы поняли, что это оптимизация pico, на самом деле не стоит потери в читаемости (и в этом конкретном случае это, вероятно, медленнее). –
Ваши селекторы будут использовать встроенные функции поиска DOM в браузере. Он может иметь внутренние таблицы классов, идентификаторы и типы элементов, которые устраняют поиск всей DOM для этих вещей. – Barmar
@dystroy, спасибо, я никогда не использовал инструмент профилей в хром, очень полезен. Вышеприведенное было просто примером. Мне интересно, если бы это было в гораздо большем масштабе, это имело бы эффект – Holly