Im folgenden JavaScript-Code gibt es ein Dollarzeichen ( $). Was heißt das?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Im folgenden JavaScript-Code gibt es ein Dollarzeichen ( $). Was heißt das?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Antworten:
Ihr Codeausschnitt sieht aus, als würde er auf Methoden aus einer der gängigen JavaScript-Bibliotheken (jQuery, ProtoType, mooTools usw.) verweisen.
Die Verwendung $in JavaScript ist nicht mysteriös . $ist einfach eine gültige JavaScript-Kennung.
JavaScript erlaubt Groß- und Kleinbuchstaben, Zahlen und $und _. Das $sollte für maschinengenerierte Variablen (wie $0001) verwendet werden.
Prototyp-, jQuery- und die meisten Javascript-Bibliotheken verwenden das $als primäres Basisobjekt (oder Funktion). Die meisten von ihnen haben auch die Möglichkeit, auf das zu verzichten, $damit es mit einer anderen Bibliothek verwendet werden kann, die es verwendet. In diesem Fall verwenden Sie jQueryanstelle von $. In der Tat $ist nur eine Abkürzung für jQuery.
Aus einer anderen Antwort :
Eine kleine Geschichte
Denken Sie daran, es gibt nichts Besonderes an sich $. Es ist ein Variablenname wie jeder andere. Früher haben Benutzer Code mit document.getElementById geschrieben. Da bei JavaScript zwischen Groß- und Kleinschreibung unterschieden wird, war es normal, beim Schreiben einen Fehler zu machen document.getElementById. Soll ich Kapital 'b'von 'by'? Soll ich Hauptstadt 'i'von Id?dir bekommen die Drift. Da Funktionen in JavaScript erstklassige Bürger sind, können Sie dies immer tun:
var $ = document.getElementById; //freedom from document.getElementById!
Als die Prototypbibliothek ankam, benannten sie ihre Funktion, die die DOM-Elemente erhält, als '$'. Fast alle JavaScript-Bibliotheken haben diese Idee kopiert. Der Prototyp führte auch eine $$Funktion zum Auswählen von Elementen mithilfe des CSS-Selektors ein.
jQuery hat auch die $Funktion angepasst , aber erweitert, damit alle Arten von 'Selektoren' akzeptiert werden, um die gewünschten Elemente zu erhalten. Wenn Sie Prototype bereits in Ihrem Projekt verwenden und jQuery einbeziehen möchten, treten Probleme auf, die '$'sich entweder auf die Implementierung von Prototype oder auf die Implementierung von jQuery beziehen können. Aus diesem Grund verfügt jQuery über die Option noConflict, sodass Sie jQuery in Ihr Projekt aufnehmen können, das Prototype verwendet, und Ihren Code langsam migrieren können. Ich denke, das war ein brillanter Schachzug von John! :) :)
var $ = document.getElementById;funktioniert nicht in Firefox oder Google Chrome. Sie sollten function $(id) { return document.getElementById(id); }stattdessen verwenden. Weitere Informationen finden Sie unter stackoverflow.com/questions/1007340 .
Das ist höchstwahrscheinlich jQuery Code (genauer gesagt JavaScript, das die jQuery-Bibliothek verwendet).
Das $stellt die jQuery-Funktion dar und ist eigentlich ein Kurzalias für jQuery. (Im Gegensatz zu den meisten Sprachen ist das $Symbol nicht reserviert und kann als Variablenname verwendet werden.) Es wird normalerweise als Selektor verwendet (dh als Funktion, die eine Reihe von im DOM gefundenen Elementen zurückgibt).
Wie alle anderen Antworten sagen; es kann fast alles sein, ist aber normalerweise "JQuery".
In ES6 ist es jedoch ein String-Interpolationsoperator in einer Vorlage "Literal", z.
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
Ergebnis:
Es gibt heutzutage so viele neue Ideen !!
Das $()ist die Kurzform von jQuery()der verwendeten jQuery - Bibliothek .
Zusätzlich zu den obigen Antworten $hat es keine besondere Bedeutung in Javascript, es ist frei, bei der Objektbenennung verwendet zu werden. In jQuery wird es einfach als Alias für das jQuery- Objekt und die Funktion jQuery () verwendet. Es kann jedoch vorkommen, dass Sie es in Verbindung mit einer anderen JS-Bibliothek verwenden möchten, die ebenfalls $ verwendet, was zu einem Namenskonflikt führen würde. Nur aus diesem Grund gibt es in JQuery eine Methode jQuery.noConflict().
Hier ist ein Beispiel aus jQuery- Dokumenten:
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Alternativ können Sie auch eine solche verwenden
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
Aus der jQuery-Dokumentation, die das jQuery- Kernobjekt beschreibt :
Viele Entwickler stellen dem Namen von Variablen, die jQuery-Objekte enthalten, ein $ voran, um die Unterscheidung zu erleichtern. Diese Praxis ist nicht magisch - sie hilft nur einigen Leuten, den Überblick darüber zu behalten, was verschiedene Variablen enthalten.