Кэширование $ (this) в jQuery - это лучший метод? - PullRequest
6 голосов
/ 07 марта 2012

Мы все знаем, что хорошо кэшировать вызовы DOM, поэтому вместо того, чтобы вызывать $ ('# someElement') несколько раз, просто сохраните его в переменную $ someElement и используйте его.то же самое при использовании $ (this) внутри прослушивателя событий, например?Следует ли кэшировать $ (this)?

Спасибо.

Ответы [ 3 ]

7 голосов
/ 07 марта 2012

Если вы звоните $(this) несколько раз, лучше сделать что-то вроде var $this = $(this);

6 голосов
/ 07 марта 2012

Каждый раз, когда вы вызываете $(this) или $(selector), это вызов функции для создания нового объекта jQuery ... поэтому, если вы уже создали его один раз, кэширование сохранит вызов функции для повторного создания того же объекта

2 голосов
/ 07 марта 2012

Если вы ссылаетесь на тот же элемент позже в функции события, то да. Вне функции это не имеет никакого смысла, поскольку значение this изменится.

...