Абсолютно верно!
Почему Cache
Еще одним преимуществом кэширования является удобство сопровождения кода. Если селектор находится только в одном месте, изменить его нужно только в одном месте. Поверьте мне, это облегчает жизнь при поддержке кода.
Сеть
Хотя вы можете пойти еще дальше (там, где это уместно) и объединить свои звонки:
$('blah')
.doSomething()
.doSomethingElse()
.doOtherStuff();
Это немного лучше по двум причинам. Во-первых, вы не используете дополнительную переменную, поэтому вы экономите небольшое количество памяти. Во-вторых, язык не выполняет поиск для каждого использования идентификатора, поэтому он быстрее.
Итак, почему люди все еще [сверх] используют $()
Одна из причин, по которой люди используют много $()
, заключается в том, что они не знают ничего лучше.
Другая причина в том, что раньше выбор элементов был медленнее. Но, как и в большинстве случаев в браузере, запросы к объектам с помощью селекторов быстро оптимизируются (document.querySelectorAll
), что означает, что кешировать или не кешировать не так уж и сложно, поэтому, возможно, с учетом этого они позволяют себе не кешировать .
Наконец, существуют тесты ( один два из быстрого Google), которые пытаются утверждать, что это не имеет значения или, может быть, даже быстрее не кешу. Проблема с большинством этих тестов и почему я предлагаю вам очень осторожно делать выводы из них, заключается в том, что DOM в этом примере не является реальным; это слишком упрощенно. Во-вторых, селекторы также упрощены. Поэтому, конечно, запросы будут молниеносными, и кэширование не будет иметь большого значения, но я не считаю их окончательными.
Тем не менее, если ваш пример похож на пример тестов, то, возможно, вы можете сделать свои собственные косвенные выводы, и кэширование может быть просто неудобством.