$
ein Argument an eine Funktion ist. jQuery
wird als das Argument übergeben, wenn die Funktion aufgerufen wird.
Betrachten Sie es wie folgt aus:
function init($) {
// code can use $ here as a shortcut for jQuery
// even if $ has a different definition globally or isn't defined globally
}
init(jQuery);
Außer der Tatsache, dass dieses Beispiel ein globales Symbol erzeugt init
, die Ausführung dieser und Ihre IIFE sind identisch. Beide definieren eine Funktion und rufen sie sofort auf.
$
ist ein Argument für die Funktion. jQuery
ist, was als dieses Argument übergeben wird. Dies dient dazu, $
als eine Verknüpfung für jQuery
innerhalb dieser Funktion zu definieren, ohne die globale Definition von $
zu beeinflussen. Manchmal kann es auch einen kleinen Leistungsvorteil geben, da lokal definierte Symbole (entweder als lokale Variablen oder als benannte Argumente) etwas schneller zugänglich sein können als globale Symbole.
Der Vorteil des IIFE ist, dass keine neuen globalen Symbole definiert sind. Ansonsten ist es in der Ausführung identisch mit diesem Code.
schöne Antwort mein Freund :-) Danke! :-) – Hirvesh