Heim > Web-Frontend > js-Tutorial > Hauptteil

Erklären Sie, was anonyme Funktionen in Javascript sind

青灯夜游
Freigeben: 2018-10-12 15:56:45
nach vorne
5331 Leute haben es durchsucht

Dieser Artikel stellt Ihnen die anonymen Funktionen in Javascript vor. Er hat einen gewissen Referenzwert. Ich hoffe, er wird Ihnen hilfreich sein.

Analyse:

1. Die sogenannte anonyme Funktion ist wörtlich genommen eine Funktion ohne Namen, die stattdessen () verwendet (Beachten Sie, dass es sich um die Klammern )

2. Definitionsform:

function (){
    //to add codes that you want to add
}
Nach dem Login kopieren

3. Funktion der anonymen Funktion

(1) Im Vergleich zur Schließungsfunktion besteht der größte Effekt darin, nicht zu verschmutzen Sobald die Ausführung abgeschlossen ist, beansprucht der GC automatisch den Speicher zurück, was den wesentlichen Unterschied zur Abschlussfunktion darstellt. Ein Hauptmerkmal der Schließungsfunktion ist:

Variablen liegen im Speicher und werden nur freigegeben, wenn der Browser geschlossen wird.

function f1(){
    var n=999;
    nAdd=function(){n+=1}
    function f2(){
      alert(n);
    }
    return f2;
  }
  var result=f1();
  result(); // 999
  nAdd();
  result(); // 1000
Nach dem Login kopieren

Im obigen Code ist das Ergebnis tatsächlich die Abschlussfunktion f2. Es wurde zweimal ausgeführt, beim ersten Mal war der Wert 999, beim zweiten Mal war der Wert 1000. Dies beweist, dass die lokale Variable n in der Funktion f1 immer im Speicher gespeichert ist und nach dem Aufruf von f1 nicht automatisch gelöscht wird.

Warum passiert das? Der Grund dafür ist, dass f1 die übergeordnete Funktion von f2 ist und f2 einer globalen Variablen zugewiesen ist, wodurch f2 immer im Speicher bleibt und die Existenz von f2 von f1 abhängt, sodass f1 immer im Speicher ist und nicht gelöscht wird Nach Abschluss des Anrufs wird es vom Garbage-Collection-Mechanismus recycelt.

Eine weitere erwähnenswerte Sache in diesem Code ist die Zeile „nAdd=function(){n+=1}“. Erstens wird das Schlüsselwort var nicht vor nAdd verwendet, daher ist nAdd eher eine globale Variable als lokale Variablen. Zweitens ist der Wert von nAdd eine anonyme Funktion, und diese

anonyme Funktion selbst ist auch ein Abschluss, sodass nAdd einem Setter entspricht, der lokale Variablen innerhalb der Funktion außerhalb der Funktion bearbeiten kann.

(2) Im Vergleich zu allgemeinen Funktionen wird keine Vorkompilierung durchgeführt.

function fuc() {
    fuc1(); //foo被提到了作用域的最前面, 于是这里可以正常调用foo函数
    fuc2(); //这里会报错bar是个undefined
    function fuc1() {alert("foo()") }
    var fuc2 = function () { alert("bar")};
}
Nach dem Login kopieren

Code:

Mehrere Ausdrücke anonymer Funktionen:

Modus 1: Funktionsliteral (Funktionsliteral)

Zuerst das Funktionsobjekt deklarieren und dann ausführen .

(function(){ 
// insert code here 
})();
Nach dem Login kopieren

Modus 2: Prioritätsausdruck (Prioritätsausdruck)

Da JavaScript Ausdrücke in der Reihenfolge von innen nach außen ausführt, werden Klammern verwendet, um die Ausführung deklarierter Funktionen zu erzwingen.

(function(){ 
// insert code here 
}());
Nach dem Login kopieren

Modus 3: Void-Operator (Void-Operator)

Verwenden Sie den Void-Operator, um einen einzelnen Operanden auszuführen.

void function(){ 
// insert code here 
}();
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere verwandte Tutorials finden Sie unter

JavaScript-Video-Tutorial!

Verwandte Empfehlungen:

JavaScript-Grafik-Tutorial

JavaScript-Online-Handbuch

Das obige ist der detaillierte Inhalt vonErklären Sie, was anonyme Funktionen in Javascript sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage