Heim >Web-Frontend >js-Tutorial >Warum verwendet jQuery „(function(window, undefined){...})(window);'?
Untersuchung der Syntax der JavaScript-Kapselung in jQuery
Beim Untersuchen des jQuery 1.4-Quellcodes stößt man möglicherweise auf die folgende Kapselungssyntax:
(function( window, undefined ) { //All the JQuery code here ... })(window);
Diese Syntax wirft Fragen zum Zweck der „undefinierten“ Variablen und auf das wiederholte Erscheinen von „window“.
Die Bedeutung von „undefiniert“
Die Variable „undefiniert“ in den Klammern ist kein reserviertes Schlüsselwort. Vielmehr handelt es sich um eine normale Variable, der ein neuer Wert zugewiesen werden kann. In diesem Fall setzt jQuery „undefiniert“ gleich „undefiniert“, um sicherzustellen, dass die globale Variable „undefiniert“ wirklich undefiniert bleibt.
Die Bedeutung von „window“
Die Variable „window“ bezieht sich auf das globale JavaScript-Objekt. Durch die Übergabe von „window“ als Argument an die anonyme Funktion erstellt jQuery einen lokalen Verweis auf das globale Objekt. Diese lokale Referenz verbessert die Leistung.
Wenn JavaScript nach einer Variablen sucht, überprüft es zunächst den lokalen Bereich. Wenn die Variable lokal nicht gefunden wird, wird die Suche mit dem nächsten Bereich usw. fortgesetzt, bis der globale Bereich erreicht ist. Durch die Erstellung eines lokalen Verweises auf das globale Objekt kann JavaScript „Fenster“ schnell finden, ohne alle Bereiche durchsuchen zu müssen.
Diese Optimierung wird von Nicholas C. Zakas in seinem Artikel „Beschleunigen Sie Ihr JavaScript“ beschrieben ,“ verbessert die Ausführungsgeschwindigkeit der jQuery-Bibliothek erheblich.
Das obige ist der detaillierte Inhalt vonWarum verwendet jQuery „(function(window, undefined){...})(window);'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!