Разница не так существенна в вашем примере, поскольку вы используете обернутый объект JQuery только один раз.Эта проблема становится более актуальной, если вам нужно многократно использовать объект JQuery.
$("#someButton").click(function() {
var button = this;
$(button).attr('disabled', 'disabled');
$(button).someJQueryMethod();
...
$(button).someOtherJQueryMethod();
}
В этом случае лучше обернуть объект один раз и кэшировать результаты.Это соглашение кэширует результат в переменной, начинающейся со знака $
, чтобы указать, что он содержит обернутый объект JQuery.
$("#someButton").click(function() {
var $button = $(this);
$button.attr('disabled', 'disabled');
$button.someJQueryMethod();
...
$button.someOtherJQueryMethod();
}
Таким образом, вызов $()
вызывается только один раз.Это становится особенно актуальным, если ссылка находится внутри цикла.