Ответ 1
Я видел, как это делалось в обоих направлениях. Все, что вы делаете, это создание переменной с именем "$ selector", поэтому они функционально эквивалентны. Самое приятное в том, что он делает их легко отображать как объекты jQuery.
У меня есть что-то простое:
$(selector).append("somestuff");
Но поскольку я собираюсь повторно использовать селектор, я его кеширую с помощью:
var $selector = $(selector);
Итак, я получаю:
$selector.append("somestuff");
Мой вопрос: должен ли я это делать, или должен ли я делать:
var selector = $(selector);
selector.append("somestuff");
Попытка одного, оба работают. Какой метод правильный и почему? Является ли $
в $selector
ненужным, поскольку объект jquery уже объявлен в $(selector)
?
Спасибо за ответы. Это кажется очень простым и понятным. Тем не менее, по-видимому, существуют разногласия относительно того, следует ли использовать переменную $
в этой переменной. Было бы хорошо, если бы каждый мог проголосовать за ответ.:)
Я видел, как это делалось в обоих направлениях. Все, что вы делаете, это создание переменной с именем "$ selector", поэтому они функционально эквивалентны. Самое приятное в том, что он делает их легко отображать как объекты jQuery.
$
- это просто имя - имя в JavaScript может содержать знаки доллара и может состоять только из знака доллара.
Если вы используете знак доллара в своем имени, не имеет отношения к jQuery - нет ничего особенного в знаке доллара, за исключением того, что jQuery определяет функцию с именем $
.
Кассовый знак - это просто псевдоним для функции jQuery. Запуск имени переменной с помощью $не влияет на эту переменную.
Обычно, особенно в разработке плагина jQuery, использовать переменные, уже завернутые в jQuery, с кассовым знаком, поэтому вы знаете, что можете вызывать методы jQuery, без необходимости их обертывать.
RichieHindle верен. Чтобы развернуть:
Переменные Javascript допускают символ '$'. Например, у вас может быть следующее:
var $i = 1;
var i = 1;
Оба я и $i имеют одинаковое значение, и оба являются совершенно законными именами переменных.
jQuery присваивает себя (объект jQuery) '$', потому что традиционно, какие Javascript-структуры сделали для селекторов. Нет никакого неотъемлемого значения для '$', кроме того, что дает jQuery.
Мне нравится префикс всех моих имен объектов jQuery $
, так что я знаю его как объект jQuery, а не ссылку DOM.
Это хорошее соглашение об именах.
В этом случае $selector
является примером венгерской нотации. Он существует, так что вы знаете, что $selector
является объектом jQuery.
Если вы сделаете свой обычай всегда иметь объекты jQuery, начинающиеся с $
, если вы вдруг используете одно неверное, оно будет выглядеть неправильно, что поможет вам найти проблему в вашем коде.
Языку все равно. Они могли бы точно назвать функцию jQuery J
или что-то еще; $
не является специальным символом.
Да.
jQuery всегда возвращает объект jQuery. Это то, что позволяет цепочки.
Вы уже определили переменную, чтобы вернуть объект jQuery, так что $не нужно
Я не считаю, что вам нужно добавить селектор jQuery в объекты jQuery (так как он уже является частью объекта). Мы не добавляем селектор и не сталкиваемся с какими-либо проблемами.
"$" - это функция в jQuery. Поэтому, когда вы вызываете $(селектор), вы фактически вызываете функцию $
с selector
в качестве аргумента.
Как правило, не используйте "$" как часть имени переменной для javascript. Вы только смутитесь.