Was ist der Zweck des anonymen Funktions-Wrappers in jQuery?

8

jQuery beginnt damit, den gesamten Code in eine anonyme Funktion zu schreiben:

%Vor%

Ich verstehe, dass die Funktion unmittelbar nach dem Lesen des gesamten Skripts ausgeführt wird, aber wozu dienen die Argumente? Eine ist eine globale Objektreferenz, die andere ist eine Eigenschaftsreferenz.

Nun, ich erinnere mich, dass früher undefiniert in der Skriptentwicklung tatsächlich als etwas anderes definiert wurde (erinnere ich mich daran, oder?). War das damit verbunden?

Sieht es auch so aus, als ob die Funktion als Operator verwendet wird? Genau wie oben, verstehe ich die Syntax der Aussage überhaupt nicht. Vielleicht gibt es einen Zusammenhang, der helfen könnte?

    
Dexter 04.01.2011, 21:13
quelle

1 Antwort

11

Der Wrapper macht eine Reihe von Dingen:

%Vor%

stellt der Funktion

die Variablen window und undefined zur Verfügung

Der anonyme Aufruf })(window); übergibt die Fenstervariable an das Skript.

Wenn ein Benutzer das Fensterobjekt überschreibt, kann er das Skript leicht ändern, um die korrekte window -Variable zu verwenden, d. h.:

%Vor%

Das Fehlen eines zweiten Parameters setzt die undefined Variable auf den Wert undefined , was verhindert, dass ein Programmierer jQuery verwirft, indem er undefined überschreibt.

    
zzzzBov 04.01.2011, 21:20
quelle

Tags und Links