Heim >Web-Frontend >js-Tutorial >Was ist ein sofort aufgerufener Funktionsausdruck (IIFE) in JavaScript?

Was ist ein sofort aufgerufener Funktionsausdruck (IIFE) in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2025-01-04 00:53:42555Durchsuche

What is an Immediately-Invoked Function Expression (IIFE) in JavaScript?

Das (function() { } )()-Konstrukt in JavaScript verstehen

Das (function() { } )()-Konstrukt, Auch als „Sofort aufgerufener Funktionsausdruck“ (IIFE) bekannt, handelt es sich um ein einzigartiges Muster, das in JavaScript verwendet wird, um Funktionen unmittelbar nach ihrer Erstellung zu definieren und auszuführen. Im Gegensatz zu Event-Handlern, die durch bestimmte Ereignisse ausgelöst werden, wird ein IIFE ausgeführt, sobald es auftritt.

Syntax und Struktur

Ein IIFE besteht aus zwei Hauptteilen:

  • Umbruch von Ausdrücken: Im ersten Teil geht es darum, einen Funktionsausdruck in Klammern zu setzen: (function() { } ). Dadurch wird eine Funktion definiert, aber noch nicht aufgerufen.
  • Sofortiger Aufruf: Um die Funktion auszuführen, wird am Ende ein zusätzlicher Satz Klammern hinzugefügt: (function() { } ) (). Dieser Teil ruft die Funktion sofort auf.

Erklärung

Die äußeren Klammern erstellen einen Ausdruck, der die Funktionsdefinition enthält. Die inneren Klammern ohne Argumente bewirken, dass die Funktion automatisch ausgeführt wird.

Vorteile von IIFEs

IIFEs bieten mehrere Vorteile:

  • Namespace-Datenschutz: Variablen und Funktionen innerhalb eines IIFE haben einen Gültigkeitsbereich innerhalb der Funktion und verhindern so dies Verschmutzung des globalen Namensraums.
  • Wiederverwendbarkeit von Code: IIFEs können zur Modularisierung von Code verwendet werden, was die Wiederverwendung in verschiedenen Teilen der Anwendung erleichtert.
  • Leistung Optimierung: Durch das Einschließen des Codes in ein IIFE kann der Parser ihn vorher optimieren Ausführung.

Beispiel

Betrachten Sie diesen Codeblock:

(function() {
  var myVariable = 'Hello';
  console.log(myVariable);
})();

Wenn dieser Code ausgeführt wird, ist die Variable myVariable nur innerhalb von zugänglich das IIFE. Außerhalb der Funktion bleibt sie undefiniert.

Unterscheidung von document.onload

Während IIFEs und document.onload beide eine sofortige Ausführung beinhalten können, unterscheiden sie sich im Zweck. document.onload ist ein Ereignishandler, der darauf wartet, dass das DOM geladen wird, bevor er seine Funktion ausführt. IIFEs hingegen werden unabhängig von Ereignissen ausgeführt und werden hauptsächlich zur Kapselung und Wiederverwendung von Code verwendet.

Das obige ist der detaillierte Inhalt vonWas ist ein sofort aufgerufener Funktionsausdruck (IIFE) in JavaScript?. 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