Может кто-нибудь объяснить знак доллара в Javascript?

код, о котором идет речь, находится здесь:

var $item = $(this).parent().parent().find('input');

какова цель знак доллара в имени переменной, почему бы просто не исключить?

7 ответов


" $ "в переменной не означает ничего особенного для интерпретатора, как подчеркивание.

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

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


знак $ является идентификатором для переменных и функций.

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 использовать знак одного доллара в качестве имени объекта; как упоминалось выше, это просто еще одно допустимое имя идентификатора.


в вашем примере $ не имеет особого значения, кроме того, что является символом имени.

, в ECMAScript 6 (ES6) $ может представлять собой Шаблон Литерал

var user = 'Bob'
console.log(`We love ${user}.`); //Note backticks
// We love Bob.

знак доллара используется в ecmascript 2015-2016 как 'шаблон литералы'. Пример:

var a = 5;
var b = 10;
console.log(`Sum is equal: ${a + b}`); // 'Sum is equlat: 15'

вот рабочий пример: https://es6console.com/j3lg8xeo/ Обратите внимание на этот знак"` ",не нормальные цитаты.

U также может встретить $ при работе с библиотекой jQuery.

$ знак в Регулярные Выражения означает конец строки.


нет оснований. Возможно, человек, который закодировал его, пришел из PHP. Это имеет тот же эффект, как если бы вы назвали его "_item" или "item" или "item$$".

возможно, это какая-то венгерская нотация для кодера, чтобы отметить, что переменная является элементом DOM или чем-то еще.


вот хорошее короткое видео объяснение:https://www.youtube.com/watch?v=Acm-MD_6934

согласно международному идентификатору Ecma, имена являются токенами, которые интерпретируются в соответствии с грамматикой, приведенной в разделе "идентификаторы"Глава 5 стандарта Unicode, с некоторыми небольшими модификациями. Идентификатор является 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 и предназначенная к стандартизации информационно-коммуникационных технологий (ИКТ) и бытовой электроники (КЭ).