Was ist eine anonyme Funktion?

Was ist eine anonyme Funktion?

Eine anonyme Funktion ist, wie der Name schon sagt, eine Funktion ohne Namen.

Das Folgende ist eine gewöhnliche Funktion

function fn(){
    //执行代码
}
fn();//调用

Das Folgende ist eine anonyme Funktion

function(){
   //执行代码
}

Diese Schreibweise meldet beim Kompilieren einen Fehler: Uncaught SyntaxError: Unexpected token (

Denn der Browser stellt fest, dass diese Funktion bei der Grammatikanalyse gar nicht ausgeführt werden kann.

Wie funktioniert die anonyme Funktion?

  •  Weisen Sie die anonyme Funktion einer Variablen zu und führen Sie die Funktion über den Variablennamen aus
var fn = function () {
  // 执行代码  
}
fn();
  • Der erste Teil ist die anonyme Funktion innerhalb der Klammern, der zweite Teil ist die anonyme Funktion mit Klammern und der dritte Teil sind die Klammern für die endgültige Ausführung. Eine anonyme Funktion kann als Variable innerhalb der Klammern betrachtet und dann über die Klammern ausgeführt werden.

(function(){
   // 执行代码 
  console.log("打印成功");
})();

 Diese Methode wird auch als selbstausführende Funktion bezeichnet . Einige Toolkits wie JQuery verwenden diesen Schreibstil. Der Vorteil von selbstausführenden Funktionen besteht darin sicherzustellen, dass Variablen in selbstausführenden Funktionen nicht durch andere Umgebungen verunreinigt werden .

Die Rolle anonymer Funktionen:

  • Closures können durch anonyme Funktionen realisiert werden und Closures werden in den folgenden Artikeln erläutert. Hier ist ein kurzer Überblick: Closures sind Funktionen, die Zugriff auf Variablen haben, die innerhalb des Geltungsbereichs der Funktion definiert sind. Um einen Abschluss zu erstellen, wird oft eine anonyme Funktion benötigt.
  • Simulieren Sie den Bereich auf Blockebene und reduzieren Sie globale Variablen. Nachdem die anonyme Funktion ausgeführt wurde, werden die entsprechenden im Speicher gespeicherten Variablen zerstört, um Speicher zu sparen. Darüber hinaus wird in groß angelegten Mehrpersonen-Entwicklungsprojekten die Verwendung des Geltungsbereichs auf Blockebene das Problem von Namenskonflikten stark reduzieren und dadurch katastrophale Folgen vermeiden. Entwickler müssen sich keine Gedanken mehr darüber machen, mit dem globalen Geltungsbereich herumzuspielen.

おすすめ

転載: blog.csdn.net/qq_42101569/article/details/126508294