Es gibt viele Möglichkeiten, Funktionen in Javascript zu definieren, und Funktionsliterale sind eine davon. Beispiel: var fun = function(){}: Wenn die Funktion fun nicht zugewiesen ist, handelt es sich um eine anonyme Funktion. Okay, mal sehen, wie die anonyme Funktion aufgerufen wird.
Methode 1: Rufen Sie die Funktion auf und erhalten Sie den Rückgabewert. Der Zwangsoperator bewirkt, dass Funktionsaufrufe ausgeführt werden
(function(x,y){ alert(x+y); return 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. Anschließend wird die Referenz 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); return x+y; }(3,4);
Methode 5: Verwenden Sie die Tilde (~)
~function(x, y) { alert(x+y); return x+y; }(3, 4);
Methode 6, anonyme Funktionsausführung wird in eckige Klammern gesetzt
[function(){ console.log(this) // 浏览器得控制台输出window }(this)]
Methode 7, fügen Sie typeof
vor der anonymen Funktion hinzutypeof function(){ console.log(this) // 浏览器得控制台输出window }(this)
Methode 8, fügen Sie delete
vor der anonymen Funktion hinzudelete function(){ console.log(this) // 浏览器得控制台输出window }(this)
Methode 9, fügen Sie void
vor der anonymen Funktion hinzuvoid function(){ console.log(this) // 浏览器得控制台输出window }(this)
Methode 10, neue Methode verwenden, um Parameter zu übergeben
new function(win){ console.log(win) // window }(this)
Methode 11, new verwenden, keine Parameter übergeben
new function(){ console.log(this) // 这里的this就不是window了 }
Methode 12, Kommaoperator
function(){ console.log(this) // window }();
Modus 13, bitweiser XOR-Operator
^function(){ console.log(this) // window }();
Methode 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
Anonyme Funktionen haben keine tatsächlichen Namen und keine Zeiger. Wie werden sie ausgeführt?
Was das Schreiben anonymer Funktionen angeht, ist es sehr unterschiedlich~
-Zeichen wandelt eine Funktionsdeklaration in einen Funktionsausdruck um. Fassen Sie es zusammen
Häufigste Verwendung:
Der Code lautet wie folgt:
(function() { alert('water'); })();
Natürlich können Sie auch Parameter übernehmen:
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 gängigen anonymen Funktionen, werfen wir einen Blick auf die ungewöhnlichen:
Der Code lautet wie folgt:
~(function(){ alert('water'); })();//写法有点酷~
Der Code lautet wie folgt:
void 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'); }();
Der Code lautet wie folgt:
(function(){ alert('water'); }());//有点强制执行的味道~
Das Obige hat Ihnen erklärt, wie Sie anonyme Funktionen in Javascript aufrufen und schreiben. Ich hoffe, es wird Ihnen hilfreich sein.