Die Grundform einer anonymen Funktion ist (function(){...})(); die erste Klammer enthält den Funktionskörper und die zweite Klammer dient dazu, Parameter an die anonyme Funktion zu übergeben und diese sofort auszuführen Die Funktion der anonymen Funktion besteht darin, die Verschmutzung globaler Variablen und Konflikte mit Funktionsnamen zu vermeiden.
1. Die Funktion von Klammern
Klammern können unsere Ausdruckskombination in Blöcke unterteilen, und jeder Block, also jedes Klammerpaar, hat einen Rückgabewert. Dieser Rückgabewert ist tatsächlich der Rückgabewert des Ausdrucks in Klammern. Wenn wir also ein Klammerpaar verwenden, um eine anonyme Funktion zu umgeben, gibt das Klammerpaar tatsächlich ein Funktionsobjekt der anonymen Funktion zurück. Daher wird das Klammerpaar plus die anonyme Funktion von uns genauso referenziert wie eine benannte Funktion. Wenn Sie also nach dieser Referenzvariablen eine Parameterliste hinzufügen, wird die Aufrufform einer gewöhnlichen Funktion erreicht.
Einfach ausgedrückt haben Klammern einen Rückgabewert, der der Rückgabewert der Funktion oder des Ausdrucks innerhalb der Klammern ist, sodass der Rückgabewert der Funktion innerhalb der Klammern gleich dem Rückgabewert der Klammern ist
2. So schreiben Sie anonyme Funktionen
Methode 1: Rufen Sie die Funktion auf und erhalten Sie den Rückgabewert. Der Zwangsoperator bewirkt, dass der Funktionsaufruf
(function(x,y){
alert(x+y); >}(3,4));
Methode 2: Rufen Sie die Funktion auf und erhalten Sie den Rückgabewert. Erzwingen Sie die direkte Ausführung der Funktion und geben Sie dann eine Referenz zurück. Die Referenz wird dann aufgerufen und ausgeführt (function(x,y){alert(x+y);return x +y;})(3,4); Diese Methode ist auch eine beliebte Aufrufmethode, die von vielen Bibliotheken wie jQuery und Mootools verwendet wird. Methode 3, verwenden Sie voidvoid function(x) {x = x-1;alert(x);}(9);Methode 4, verwenden Sie den Operator -/+-function(x,y){alert(x+y);return x+y;}(3,4);+function(x,y){alert(x+y); return x+y;}(3,4);--function(x,y){alert(x+y ) ;return x+y;}(3,4);++function(x,y){alert(x + y);x+y zurückgeben;}(3,4); Methode 5, Tilde (~) verwenden~ Funktion( x, y) {alert(x+y);return x+y;}(3, 4); Methode 6 , anonyme Funktionsausführung wird in eckige Klammern gesetzt [function(){console.log(this) // Das Konsolenausgabefenster des Browsers} (this)] Methode 7, typeof hinzufügentypeof function(){console.log(this) // Ausgabefenster der Browserkonsole }(this) Methode 8, löschen hinzufügendelete function(){console.log(this) // Durchsuchen Holen Sie sich das Konsolenausgabefenster}( this) Methode 9, voidvoid function(){console.log vor der anonymen Funktion (this) hinzufügen // Der Browser muss das Konsolenausgabefenster}(dies) Methode 10, neue Methode verwenden, Parameter übergeben neue Funktion (win){console.log(win) // window}(this) Methode 11, new verwenden, keine Parameter übergeben new function(){ console.log(this) // Das hier ist kein Fenster } Methode 12, Kommaoperator function(){ console.log(this) // Fenster }(); Modus 13, bitweiser XOR-Operator ^function() {console.log(this) // window}(); Modus 14, Vergleichsoperatorfunction(){console.log(this) // window }(); Schauen Sie sich endlich die falsche Aufrufmethode anfunction(x,y){alert(x+y);return x+y;}(3,4); N Möglichkeiten, anonyme Funktionen zu schreiben, sind wie folgt. Zeigt Die anonyme Funktion hat keinen tatsächlichen Namen und keinen Zeiger. Wie führt man es aus? Bezüglich der Schreibmethode anonymer Funktionen ist sie sehr unterschiedlich~ Das +-Zeichen dient dazu, die Funktionsdeklaration in einen Funktionsausdruck umzuwandeln. Fassen wir die häufigsten Verwendungen von zusammen: Der Code lautet wie folgt: (function() { alert('water'); })(); kann auch Parameter annehmen: Der Code lautet wie folgt:(function(o) { alert(o) ; })('water'); Möchten Sie Kettenaufrufe anonymer Funktionen verwenden? Ganz einfach: Der Code lautet wie folgt:(function(o) { console.log(o); return arguments.callee ; })('water')('down'); Wir alle kennen die üblichen anonymen Funktionen, werfen wir einen Blick auf die ungewöhnlichen: Die Der Code lautet wie folgt: ~(function(){ alert('water'); })();//Das Schreiben ist ein bisschen cool~ Der Code lautet wie folgt:
void function(){ alert('water'); }();//Es ist angeblich am effizientesten ~ Der Code lautet wie folgt: +function(){ alert('water'); } (); Der Code lautet wie folgt:-function(){ alert('water'}();Der Code lautet wie folgt:~function(){ alert ('water');Der Code lautet wie folgt:!function(){ alert('water'); Der Code lautet wie folgt:(function(){
alert('water');
}());//Es fühlt sich etwas gezwungen an~
Verwandte Empfehlungen:
PHP-Rückruffunktion Und ausführliche Erklärung anonymer Funktionen
Weitergabe des Konzepts und der Verwendung anonymer JS-Funktionen
Detaillierte Erläuterung anonymer PHP-Funktionen und anonymer Klassen
Das obige ist der detaillierte Inhalt vonSo verstehen Sie anonyme JS-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!