Подтвердить что ты не робот

Знак доллара США

У меня есть что-то простое:

$(selector).append("somestuff");

Но поскольку я собираюсь повторно использовать селектор, я его кеширую с помощью:

var $selector = $(selector);

Итак, я получаю:

$selector.append("somestuff");

Мой вопрос: должен ли я это делать, или должен ли я делать:

var selector = $(selector);
selector.append("somestuff");

Попытка одного, оба работают. Какой метод правильный и почему? Является ли $ в $selector ненужным, поскольку объект jquery уже объявлен в $(selector)?


Изменить

Спасибо за ответы. Это кажется очень простым и понятным. Тем не менее, по-видимому, существуют разногласия относительно того, следует ли использовать переменную $ в этой переменной. Было бы хорошо, если бы каждый мог проголосовать за ответ.:)

4b9b3361

Ответ 1

Я видел, как это делалось в обоих направлениях. Все, что вы делаете, это создание переменной с именем "$ selector", поэтому они функционально эквивалентны. Самое приятное в том, что он делает их легко отображать как объекты jQuery.

Ответ 2

$ - это просто имя - имя в JavaScript может содержать знаки доллара и может состоять только из знака доллара.

Если вы используете знак доллара в своем имени, не имеет отношения к jQuery - нет ничего особенного в знаке доллара, за исключением того, что jQuery определяет функцию с именем $.

Ответ 3

Кассовый знак - это просто псевдоним для функции jQuery. Запуск имени переменной с помощью $не влияет на эту переменную.

Обычно, особенно в разработке плагина jQuery, использовать переменные, уже завернутые в jQuery, с кассовым знаком, поэтому вы знаете, что можете вызывать методы jQuery, без необходимости их обертывать.

Ответ 4

RichieHindle верен. Чтобы развернуть:

Переменные Javascript допускают символ '$'. Например, у вас может быть следующее:

var $i = 1;
var i = 1;

Оба я и $i имеют одинаковое значение, и оба являются совершенно законными именами переменных.

jQuery присваивает себя (объект jQuery) '$', потому что традиционно, какие Javascript-структуры сделали для селекторов. Нет никакого неотъемлемого значения для '$', кроме того, что дает jQuery.

Ответ 5

Мне нравится префикс всех моих имен объектов jQuery $, так что я знаю его как объект jQuery, а не ссылку DOM.

Это хорошее соглашение об именах.

Ответ 6

В этом случае $selector является примером венгерской нотации. Он существует, так что вы знаете, что $selector является объектом jQuery.

Если вы сделаете свой обычай всегда иметь объекты jQuery, начинающиеся с $, если вы вдруг используете одно неверное, оно будет выглядеть неправильно, что поможет вам найти проблему в вашем коде.

Языку все равно. Они могли бы точно назвать функцию jQuery J или что-то еще; $ не является специальным символом.

Ответ 7

Да.

jQuery всегда возвращает объект jQuery. Это то, что позволяет цепочки.

Вы уже определили переменную, чтобы вернуть объект jQuery, так что $не нужно

Ответ 8

Я не считаю, что вам нужно добавить селектор jQuery в объекты jQuery (так как он уже является частью объекта). Мы не добавляем селектор и не сталкиваемся с какими-либо проблемами.

Ответ 9

"$" - это функция в jQuery. Поэтому, когда вы вызываете $(селектор), вы фактически вызываете функцию $ с selector в качестве аргумента.

Как правило, не используйте "$" как часть имени переменной для javascript. Вы только смутитесь.