Код, о котором идет речь, находится здесь:
var $item = $(this).parent().parent().find('input');
Какова цель знака доллара в имени переменной, почему бы просто не исключить его?
javascript
naming-conventions
Кит Донеган
источник
источник
document.querySelector
иdocument.querySelectorAll
Ответы:
'$' В переменной не означает ничего особенного для интерпретатора, как подчеркивание.
Из того, что я видел, многие люди, использующие jQuery (как выглядит ваш пример кода для меня), имеют тенденцию ставить префиксные переменные, которые содержат объект jQuery, с помощью $, чтобы их можно было легко идентифицировать и не смешивать, скажем, с целыми числами ,
Функция знака доллара
$()
в jQuery является библиотечной функцией, которая часто используется, поэтому желательно короткое имя.источник
var $=function(){}
- это то же самое, что и делатьvar a=function(){}
.jQuery(document).ready(function($){
... Тогда $ используется внутри реализации функции.$scope
$ это один из символов в этом имени. Точно так же, как если вы снимаете «вe
конце»$scope
, это не сработает, так что «взятие»$
также не сработает. В случае, если вы видите что-то вроде$( "a" ).addClass( "test" )
, знак доллара - это полное название того, что это такое.В вашем примере $ не имеет особого значения, кроме как символ имени.
Однако в ECMAScript 6 (ES6) $ может представлять литерал шаблона
источник
Знак $ является идентификатором для переменных и функций.
https://web.archive.org/web/20160529121559/http://www.authenticsociety.com/blog/javascript_dollarsign
Это имеет четкое объяснение того, для чего предназначен знак доллара.
Вот альтернативное объяснение: http://www.vcarrer.com/2010/10/about-dollar-sign-in-javascript.html
источник
Знак доллара рассматривается как обычная буква или знак подчеркивания (
_
). Это не имеет особого значения для переводчика.В отличие от многих похожих языков, идентификаторы (такие как функциональные имена и имена переменных) в Javascript могут содержать не только буквы, цифры и символы подчеркивания, но также могут содержать знаки доллара . Они даже могут начинаться со знака доллара или состоять только из знака доллара и ничего более.
Таким образом,
$
является допустимой функцией или именем переменной в Javascript.Зачем вам знак доллара в идентификаторе?
Синтаксис на самом деле не навязывает какое-либо конкретное использование знака доллара в идентификаторе, поэтому вам решать, как вы хотите его использовать. В прошлом часто рекомендовалось начинать идентификатор со знака доллара только в сгенерированном коде, то есть в коде, созданном не вручную, а генератором кода.
В вашем примере, однако, это не так. Похоже, кто-то просто поставил знак доллара в начале для забавы - возможно, это был программист PHP, который сделал это по привычке, или что-то в этом роде. В PHP все имена переменных должны иметь знак доллара перед ними.
В настоящее время в интерпретаторе существует еще одно общее значение знака доллара: объект jQuery, имя которого состоит только из одного знака доллара (
$
). Это соглашение заимствовано из более ранних Javascript-фреймворков, таких как Prototype, и если jQuery используется с другими такими фреймворками, произойдет конфликт имен, поскольку они оба будут использовать имя$
(jQuery может быть настроен на использование другого имени для своего глобального объекта) , В Javascript нет ничего особенного, что позволяет jQuery использовать один знак доллара в качестве имени объекта; как уже упоминалось выше, это просто еще одно действительное имя идентификатора.источник
var $j = jQuery.noConflict();
теперь $ j является объектом jQuery.Знак доллара используется в ecmascript 2015-2016 как «шаблонные литералы». Пример:
Вот рабочий пример: https://es6console.com/j3lg8xeo/ Обратите внимание на этот знак " ` ", это не нормальные кавычки.
Вы также можете встретить $ при работе с библиотекой jQuery .
Знак $ в регулярных выражениях означает конец строки.
источник
Нет причин. Возможно, человек, который его кодировал, пришел из PHP. Это имеет тот же эффект, как если бы вы назвали его «_item» или «item» или «item $$».
В качестве суффикса (например, «item $», произносится «items») он может обозначать наблюдаемое, например элемент DOM, в виде соглашения, называемого «финская нотация», аналогичного венгерской нотации.
источник
Вот хорошее краткое объяснение видео: https://www.youtube.com/watch?v=Acm-MD_6934
Согласно Ecma International, Идентификационные имена - это токены, которые интерпретируются в соответствии с грамматикой, приведенной в разделе «Идентификаторы» главы 5 стандарта Unicode, с некоторыми небольшими изменениями. Identifier - это IdentifierName, которое не является ReservedWord ( см. 7.6.1 ). Грамматика идентификатора Unicode основана на нормативных и информативных категориях символов, определенных стандартом Unicode. Символы в указанных категориях в версии 3.0 стандарта Unicode должны обрабатываться так же, как и в этих категориях, для всех соответствующих реализаций ECMAScript. Этот стандарт определяет конкретные добавления символов:
Знак доллара ($) и подчеркивание (_) разрешены в любом месте в IdentifierName .
Дополнительную информацию можно найти по адресу : http://www.ecma-international.org/ecma-262/5.1/#sec-7.6.
Ecma International - это отраслевая ассоциация, основанная в 1961 году и занимающаяся стандартизацией информационных и коммуникационных технологий (ИКТ) и бытовой электроники (CE).
источник
При использовании jQuery использование
$
символа в качестве префикса в имени переменной просто по соглашению; это совершенно необязательно и служит только для указания того, что переменная содержит объект jQuery, как в вашем примере.Это означает, что когда нужно вызвать другую функцию jQuery для объекта, вам не нужно будет оборачивать ее
$()
снова. Например, сравните это:С
$
префиксом переменные, уже содержащие объекты jQuery, мгновенно распознаются, а код становится более читабельным и исключает двойное / множественное перенос с помощью$()
.источник