Почему я вижу переменные JavaScript с префиксом $? - PullRequest
13 голосов
/ 03 февраля 2010

Это своего рода мета-вопрос.Многие фрагменты JavaScript, которые я видел здесь на SO, названы с префиксом знака доллара (например, $id во второй строке фрагмента, показанного в этом вопросе).Я не имею в виду jQuery или другие библиотеки.Я хорошо знаю, что это действительно так, но, кажется, неловко это делать, когда в этом нет необходимости.Почему люди называют свои переменные так?Является ли это просто знакомством с серверным языком, таким как PHP, который переносится в их код JavaScript?

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

Ответы [ 3 ]

19 голосов
/ 03 февраля 2010

Синтаксически, знак доллара сам по себе ничего не значит - для переводчика это просто другой символ, например _ или q. Но многие люди, использующие jQuery и другие подобные структуры, будут префиксировать переменные, которые содержат объект jQuery, с помощью символа $, чтобы их можно было легко идентифицировать и, таким образом, не смешивать с такими вещами, как целые числа или строки. Вы могли бы также легко принять то же соглашение, добавив префикс jq_ к таким переменным, и это имело бы тот же эффект.

По сути, это сырой сорт Венгерская запись .

4 голосов
/ 03 февраля 2010

Иногда я буду добавлять префикс имени переменной к $, чтобы указать, что это элемент в jQuery-оболочке (чаще всего, когда я часто использую $(this) в функции, я назначу это $this).

Отчасти из-за отсутствия соглашения люди копируют код для вставки вместе, который использует различные соглашения, создавая, таким образом, противоречивый код.

Кроме того, иногда (редко я надеюсь) люди, которые много программируют на PHP, ставят $ в начале имен своих переменных по привычке.

2 голосов
/ 03 февраля 2010

Я подозреваю, что человек в этом примере просто копировал шаблон jQuery или использовал его для PHP / Perl, не понимая, что в этом нет необходимости и нет особого значения.

Однако я видел, как [опытные] программисты используют его для имен переменных, которые являются зарезервированными ключевыми словами, такими как $class или $this. Или даже для глобалов. В этом случае это действительно личное предпочтение больше всего на свете.

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