Да, обязательно используйте $this
.
Новый объект jQuery должен создаваться каждый раз, когда вы используете $(this)
, тогда как $this
сохраняет один и тот же объект для повторного использования.
*Тест производительности 1008 * A
показывает, что
$(this)
значительно
значительно медленнее, чем
$this
.Однако, поскольку оба выполняют миллионы операций в секунду, маловероятно, что это будет иметь какое-либо реальное влияние, но в любом случае лучше повторно использовать объекты jQuery.Когда
реальное влияние на производительность возникает, когда селектор, а не объект DOM, многократно передается в конструктор jQuery - например,
$('p')
.
Что касается использования var
, снова всегда используйте var
для объявления новых переменных.При этом переменная будет доступна только в функции , в которой она объявлена, и не будет конфликтовать с другими функциями.
Еще лучше, jQuery предназначен для использованияс цепочкой, так что воспользуйтесь этим, где это возможно.Вместо того, чтобы объявлять переменную и вызывать функции для нее несколько раз:
var $this = $(this);
$this.addClass('aClass');
$this.text('Hello');
... объедините функции в цепочку, чтобы исключить использование дополнительной переменной:
$(this).addClass('aClass').text('Hello');