Что такое знак доллара в Javascript, если не jQuery
Я сделал некоторые javascript / jQuery программирования несколько лет назад, и я только начал снова. Тогда знак доллара использовался для всех функций jQuery, и если библиотека jQuery не была импортирована, знак доллара не был определен.
сегодня я запустил Firefox, в совершенно пустом html-файле без библиотек javascript, и все же знак доллара указывает на что-то. Если я открою консоль Firefox и наберу '$' Я "function()".
1) это правильно, что знак доллара не был назначен, несколько лет назад, или я ошиблась?
2) Что такое знак, если не jQuery?
6 ответов:
1) верно ли, что знак доллара не был назначен, несколько лет назад, или я ошиблась?
это правильно и по-прежнему верно.
2) Что такое знак доллара, если не jQuery?
Firefox и Chrome реализовать
$,$$и несколько других в качестве вспомогательных команд. Оба установят$$todocument.querySelectorAll()и set$доdocument.querySelectorеслиwindow.$не было определенный.Итак, то, что вы видите, на самом деле не стандартный JavaScript, а помощник в консоли разработчика Вашего браузера. Это также не jQuery (если вы не находитесь на странице, используя jQuery). Однако, это поведение близко к одному из
jQuery, в связи с этимquerySelector(для одиночных игр) иquerySelectorAll(для нескольких матчей) дает вам почти такую же силу, как селектор jQuery.
это ничего не значит для переводчика как подчеркивание
из спецификации ECMAScript:
знак доллара ( $ ) и подчеркивание ( _ ) разрешены в любом месте идентификатор. Знак доллара предназначен для использования только в механически сгенерированный код.
вы также можете проверить JavaScript знак доллара ( $ ) - для чего он нужен?
по соглашению, знак доллара ($), подчеркивание (_) и даже некоторые Символ ASCII разрешается использовать в любом месте JavaScript идентификатор (источник: ECMA Script documentation (7.6 Identifiers, ECMA-262, 3-е изд.)знак доллара предназначен для использования только в механически сгенерированный код. это означает, что мы не хотим использовать знак доллара ( $ ) в наших именах indentifier, если мы не пишем a рамки. Ниже приведен список разрешенных символов, которые могут быть используется в любом месте идентификатора имя:
IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart :: IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequenceEDIT: -
На самом деле функция знака доллара стала более или менее де-факто ярлыком для
document.getElementById().для подтверждения моей точки проверки этой:
$(селектор)
возвращает один элемент, соответствующий заданному селектору CSS. в старом Поджигатель версии, это было равносильно документ.getElementById.
Dollar sign($)не был назначен, но некоторые браузер добавлять функции для специального использования., как Google Chrome, Если вы типа
$на консоли он вернет :function $(selector, [startNode]) { [Command Line API] }эта функция назначена для Google Chrome Developer Tool, и пусть отладка проще.
если ты типа
$('div'), он вернет что-то вроде этого:e.fn.e.init[178]и включают в себя все
divDOM объект в нем.кстати, после того, как вы нажмете правую кнопку на мышь, чтобы выбрать элемент, вы можете acceess угловой.область js по типу
$scopeконсоль
отметим, что
$$не совсемdocument.querySelectorAll, потому что в отличие от этой функции он не возвращает aNodeList:document.body.querySelectorAll('p') instanceof NodeList true $$('p') instanceof NodeList false Array.isArray($$('p')) trueтак
$$(selector)на самом деле больше похожеArray.from(document.querySelectorAll(selector)). Это означает, что методы такие как.forEachи друзья доступны на$$, что на самом деле весьма полезно.
это может быть что угодно, как
$- это допустимое имя переменной, как иdollar.С ECMAScript:
Identifier :: IdentifierName but not ReservedWord IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ \ UnicodeEscapeSequenceсамое простое решение, чтобы увидеть, что это такое и где оно определено, вероятно, наберет
$()и поставить точку останова на этой линии.
просто чтобы завершить другие ответы здесь, MooTools также использует
$как псевдоним кdocument.getElementById.он проверяет, если
$берется и будет по умолчаниюdocument.id.
Comments