Несколько лет назад я занимался программированием на javascript / jQuery и только что начал снова. Тогда знак доллара использовался для всех функций jQuery, и если библиотека jQuery не была импортирована, знак доллара не определялся.
Сегодня я запустил Firefox в совершенно пустом html-файле без библиотек javascript, но, тем не менее, знак доллара на что-то указывает. Если я открою консоль Firefox и наберу «$», я получу "function()"
.
1) Верно ли, что знак доллара не был присвоен несколько лет назад, или я неправильно помню?
2) Что за знак доллара , если не jQuery?
источник
$.fn.jquery
$
не использовался литерал шаблона .Это ничего не значит для интерпретатора, как и подчеркивание
Из спецификации ECMAScript:
Вы также можете проверить знак доллара в JavaScript ($) - для чего он нужен?
IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart :: IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequence
РЕДАКТИРОВАТЬ:-
На самом деле функция знака доллара стала более или менее де-факто ярлыком
document.getElementById()
.Чтобы подтвердить мою точку зрения, проверьте это :
источник
Dollar sign($)
не был назначен, но некоторые браузеры добавляют функцию для специального использования.Как и в Google Chrome, если вы наберете
$
на консоли, он вернет:function $(selector, [startNode]) { [Command Line API] }
Эта функция назначена для Google Chrome Developer Tool и упрощает отладку.
если вы введете
$('div')
, он вернет что-то вроде этого:e.fn.e.init[178]
и включить в него каждый
div
объект DOM.Кстати, после того, как вы нажмете правую кнопку мыши, чтобы выбрать элемент, вы можете получить доступ к области angular.js по типу
$scope
на консолиисточник
Обратите внимание, что
$$
это не совсем такdocument.querySelectorAll
, потому что, в отличие от этой функции, она не возвращаетNodeList
:document.querySelectorAll("p") instanceof NodeList // true $$("p") instanceof NodeList // false Array.isArray($$("p")) // true
Так
$$(selector)
что действительно больше нравитсяArray.from(document.querySelectorAll(selector))
. Это означает, что при использовании доступны такие методы массива, какmap
и друзья, а не толькоforEach
,$$
что на самом деле весьма полезно.источник
Это может быть что угодно, например,
$
допустимое имя переменнойdollar
.Из ECMAScript :
Identifier :: IdentifierName but not ReservedWord IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ \ UnicodeEscapeSequence
Самым простым решением, чтобы увидеть, что это такое и где он определен, вероятно, было бы набрать текст
$()
и поставить точку останова на этой строке.источник
Чтобы завершить другие ответы здесь, MooTools также использует
$
в качестве псевдонима дляdocument.getElementById
.Он проверяет, был ли
$
взят, и затем по умолчанию будетdocument.id
.источник