Почему переменная JavaScript начинается со знака доллара? - PullRequest
975 голосов
/ 15 октября 2008

Я довольно часто вижу JavaScript с переменными, которые начинаются со знака доллара. Когда / почему вы выбрали бы префикс переменной таким образом?

(я не спрашиваю о синтаксисе $('p.foo'), который вы видите в jQuery и других, но о обычных переменных, таких как $name и $order)

Ответы [ 16 ]

0 голосов
/ 21 января 2015

${varname} - это просто соглашение об именах, которое разработчики jQuery используют для различения переменных, содержащих элементы jQuery.

Обычный {varname} используется для хранения общих вещей, таких как тексты и строки. ${varname} содержит элементы, возвращенные из jQuery.

Вы также можете использовать обычный {varname} для хранения элементов jQuery, но, как я уже говорил в начале, это отличает его от простых переменных и делает его намного проще для понимания (представьте, что вы путаете его с простой переменной и ищите все чтобы понять, что он держит).

Например:

var $blah = $(this).parents('.blahblah');

Здесь бла хранит возвращенный элемент jQuery.

Итак, когда кто-то еще увидит $blah в коде, он поймет, что это не просто строка или число, это элемент jQuery.

0 голосов
/ 04 мая 2013

$ используется для различения общих переменных и переменных jquery в случае нормальных переменных. позвольте вам разместить заказ во FLIPKART, тогда, если заказ представляет собой переменную, показывающую вывод строки, он называется простым как «заказ», но если мы щелкнем по порядку размещения, то объект будет возвращен, этот объект будет обозначен через $ как «$ упорядочить », чтобы программист мог выхватывать переменные javascript и jquery во всем коде.

0 голосов
/ 18 апреля 2012

Angular использует для свойств, сгенерированных каркасом. Думаю, они идут по (ныне несуществующей) подсказке, предоставленной ECMA-262 3.0.

0 голосов
/ 21 июля 2011

Если вы видите знак доллара ($) или двойной знак доллара ($$) и вам интересно, что это означает в среде Prototype, вот ваш ответ:

$$('div');
// -> all DIVs in the document.  Same as document.getElementsByTagName('div')!

$$('#contents');
// -> same as $('contents'), only it returns an array anyway (even though IDs must be unique within a document).

$$('li.faux');
// -> all LI elements with class 'faux'

Источник:
http://www.prototypejs.org/api/utility/dollar-dollar

0 голосов
/ 21 февраля 2011

Причина, по которой я иногда использую соглашения имен php с переменными javascript: При выполнении проверки ввода я хочу запускать одинаковые алгоритмы на стороне клиента, и на стороне сервера. Я действительно хочу, чтобы две стороны кода выглядели как можно более одинаково, чтобы упростить обслуживание. Использование знаков доллара в именах переменных делает это проще.

(Кроме того, некоторые разумные вспомогательные функции помогают сделать код похожим, например, оборачивая поиск по входным значениям, не-OO версии strlen, substr и т. Д. Это все же требует некоторой ручной настройки.)

0 голосов
/ 15 октября 2008

Хотя вы можете просто использовать его для добавления префиксов к своим идентификаторам, он должен использоваться для сгенерированного кода, например, для замены токенов в шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...