Знак доллара ($) и подчеркивание (_) в JavaScript
Стивен Чепмен (Stephen Chapman) — старший разработчик Oracle PL/SQL в SEI Financial Services с более чем 20-летним опытом разработки программного обеспечения и консультирования.
Знак доллара ($) и подчеркивание (_) символы JavaScript идентификаторы, что просто означает, что они идентифицируют объект так же, как имя. Объекты, которые они идентифицируют, включают такие вещи, как переменные, функции, свойства, события и объекты.
По этой причине эти символы не обрабатываются так же, как другие специальные символы. Вместо этого JavaScript обрабатывает $ а также _ как если бы они были буквами алфавита.
Идентификатор JavaScript — опять же, просто имя для любого объекта — должен начать с строчная или прописная буква, подчеркивание (_), или знак доллара ($); последующие символы могут также включать цифры (0-9). Везде, где разрешен алфавитный символ в JavaScript, доступно 54 возможных буквы: любая строчная буква (от a до z), любая заглавная буква (от A до Z), $ а также _.
Идентификатор доллара ($)
Знак доллара обычно используется как ярлык для функции документ.getElementById(). Поскольку эта функция достаточно многословна и часто используется в JavaScript, $ уже давно используется как его псевдоним, и многие из библиотек, доступных для использования с JavaScript, создают $() функция, которая ссылается на элемент из DOM, если вы передаете ей идентификатор этого элемента.
Нет ничего о $ однако это требует, чтобы его использовали таким образом. Но это была условность, хотя в языке нет ничего, что могло бы ее обеспечить.
Знак доллара $ был выбран для имени функции первой из этих библиотек, потому что это короткое односимвольное слово, и $ с наименьшей вероятностью использовался сам по себе в качестве имени функции и, следовательно, с наименьшей вероятностью конфликтовал с другим кодом на странице.
Теперь несколько библиотек предоставляют свои собственные версии $() функция, поэтому многие теперь предоставляют возможность отключить это определение, чтобы избежать конфликтов.
Конечно, вам не нужно использовать библиотеку, чтобы иметь возможность использовать $(). Все, что вам нужно для замены $() за документ.getElementById() заключается в том, чтобы добавить определение $() функция для вашего кода следующим образом:
Идентификатор подчеркивания _
Также была разработана конвенция относительно использования _, который часто используется перед именем свойства или метода объекта, который является закрытым. Это быстрый и простой способ немедленно идентифицировать член закрытого класса, и он настолько широко используется, что его узнает почти каждый программист.
Это особенно полезно в JavaScript, поскольку определение полей как частных или общедоступных выполняется без использования частный а также публичный ключевые слова (по крайней мере, это верно для версий JavaScript, используемых в веб-браузерах — JavaScript 2.0 позволяет использовать эти ключевые слова).
Обратите внимание, что снова, как и в случае $, использование _ является просто соглашением и не применяется самим JavaScript. Что касается JavaScript, $ а также _ это обычные буквы алфавита.
Конечно, это особое отношение к $ а также _ применяется только внутри самого JavaScript. Когда вы проверяете наличие буквенных символов в данных, они обрабатываются как специальные символы, ничем не отличающиеся от любых других специальных символов.