Heim  >  Artikel  >  Web-Frontend  >  So verstehen Sie anonyme JS-Funktionen

So verstehen Sie anonyme JS-Funktionen

小云云
小云云Original
2018-03-19 16:24:221372Durchsuche

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 void

void 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ügen

typeof function(){

console.log(this) // Ausgabefenster der Browserkonsole

}(this)

Methode 8, löschen hinzufügen

delete function(){

console.log(this) // Durchsuchen Holen Sie sich das Konsolenausgabefenster

}( this)

Methode 9, void

void 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, Vergleichsoperator

function(){

console.log(this) // window

}();

Schauen Sie sich endlich die falsche Aufrufmethode an

function(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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn