Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Aufruf- und Schreibmethoden anonymer Funktionen in Javascript (verschiedene Typen)_Javascript-Kenntnisse

Detaillierte Erläuterung der Aufruf- und Schreibmethoden anonymer Funktionen in Javascript (verschiedene Typen)_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:17:571166Durchsuche

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 hinzu
typeof function(){
console.log(this) // 浏览器得控制台输出window
}(this) 

Methode 8, fügen Sie delete

vor der anonymen Funktion hinzu
delete function(){
console.log(this) // 浏览器得控制台输出window
}(this) 

Methode 9, fügen Sie void

vor der anonymen Funktion hinzu
void 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~

Das

-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.

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