Ich habe vor ein paar Jahren Javascript / jQuery programmiert und gerade wieder angefangen. Damals wurde das Dollarzeichen für alle jQuery-Funktionen verwendet, und wenn keine jQuery-Bibliothek importiert wurde, wurde das Dollarzeichen nicht definiert.
Heute habe ich Firefox in einer völlig leeren HTML-Datei ohne Javascript-Bibliotheken gestartet, und dennoch weist das Dollarzeichen auf etwas hin. Wenn ich die Firefox-Konsole öffne und '$' eingebe, erhalte ich "function()"
.
1) Ist es richtig, dass vor einigen Jahren kein Dollarzeichen vergeben wurde, oder erinnere ich mich falsch?
2) Was ist das Dollarzeichen , wenn nicht jQuery?
quelle
$.fn.jquery
$
Vorlage nicht in einem Vorlagenliteral verwendet wurde .Für den Dolmetscher bedeutet dies nichts wie der Unterstrich
Aus der ECMAScript-Spezifikation:
Sie können auch JavaScript Dollar Sign ($) überprüfen - Wofür ist es?
IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart :: IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequence
BEARBEITEN:-
Tatsächlich ist die Dollarzeichenfunktion mehr oder weniger de facto zur Abkürzung geworden
document.getElementById()
.Um meinen Standpunkt zu bestätigen, überprüfen Sie Folgendes :
quelle
Dollar sign($)
wurde nicht zugewiesen, aber einige Browser-Add-Funktion für spezielle Verwendung.Wenn Sie wie Google Chrome
$
auf der Konsole tippen , wird Folgendes zurückgegeben:function $(selector, [startNode]) { [Command Line API] }
Diese Funktion wurde für das Google Chrome Developer Tool zugewiesen und erleichtert das Debuggen.
Wenn Sie tippen
$('div')
, wird Folgendes zurückgegeben:e.fn.e.init[178]
und schließen Sie jedes
div
DOM-Objekt ein.Übrigens, nachdem Sie mit der rechten Maustaste auf das Element geklickt haben, können Sie auf den Bereich von angle.js nach Typ
$scope
in der Konsole zugreifenquelle
Beachten Sie, dass dies
$$
nicht ganz derdocument.querySelectorAll
Fall ist , da im Gegensatz zu dieser Funktion keinNodeList
:document.querySelectorAll("p") instanceof NodeList // true $$("p") instanceof NodeList // false Array.isArray($$("p")) // true
Ist
$$(selector)
also wirklich eher soArray.from(document.querySelectorAll(selector))
. Dies bedeutet, dass Array-Methoden wiemap
und Freunde nicht nurforEach
verfügbar sind, wenn sie verwendet werden,$$
was eigentlich sehr nützlich ist.quelle
Es kann alles sein, ebenso
$
wie ein gültiger Variablennamedollar
.Aus ECMAScript :
Identifier :: IdentifierName but not ReservedWord IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ \ UnicodeEscapeSequence
Die einfachste Lösung, um zu sehen, was es ist und wo es definiert ist, wäre wahrscheinlich, einen Haltepunkt in diese Zeile einzugeben
$()
und zu setzen .quelle
Um die anderen Antworten hier zu vervollständigen, verwendet MooTools auch
$
einen Alias fürdocument.getElementById
.Es prüft, ob das
$
genommen wird und wird dann standardmäßig verwendetdocument.id
.quelle