Может кто-нибудь объяснить знак доллара в Javascript?
код, о котором идет речь, находится здесь:
var $item = $(this).parent().parent().find('input');
какова цель знак доллара в имени переменной, почему бы просто не исключить?
7 ответов
" $ "в переменной не означает ничего особенного для интерпретатора, как подчеркивание.
из того, что я видел, многие люди, используя jQuery (вот как выглядит ваш пример кода для меня), как правило, префиксные переменные, содержащие объект jQuery с$, так что они легко идентифицируются и не смешиваются, скажем, с целыми числами.
функция знака доллара $()
в jQuery часто используется библиотечная функция, поэтому короткое имя желательный.
знак $ является идентификатором для переменных и функций.
Это имеет четкое объяснение того, для чего предназначен знак доллара.
вот альтернативное объяснение: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 и предназначенная к стандартизации информационно-коммуникационных технологий (ИКТ) и бытовой электроники (КЭ).