--- title: IIFE slug: Glossary/IIFE translation_of: Glossary/IIFE --- <p>Eine IIFE (Immediately Invoked Function Expression) ist eine JavaScript-Funktion, die ausgeführt wird, sobald sie definiert ist.</p> <pre class="brush: js notranslate">(function () { statements })();</pre> <p>Es handelt sich um ein Entwurfsmuster, das auch als selbstausführende anonyme Funktion bekannt ist und aus zwei Hauptteilen besteht:</p> <ol> <li>Die erste ist die anonyme Funktion mit lexikalischem Umfang, die innerhalb des {{jsxref("Operators/Grouping", "Grouping Operator")}} <code>()</code> eingeschlossen ist. Dies verhindert sowohl den Zugriff auf Variablen innerhalb des IIFE-Idioms als auch die Beeinträchtigung des globalen Geltungsbereichs.</li> <li>Der zweite Teil erzeugt den unmittelbar aufgerufenen Funktionsausdruck <code>()</code>, durch den die JavaScript-Engine die Funktion direkt interpretiert.</li> </ol> <h2 id="Beispiele">Beispiele</h2> <p>Die Funktion wird zu einem Funktionsausdruck, der sofort ausgeführt wird. Auf die Variable innerhalb des Ausdrucks kann von außerhalb nicht zugegriffen werden.</p> <pre class="brush: js notranslate">(function () { var aName = "Barry"; })(); // Variable aName is not accessible from the outside scope aName // throws "Uncaught ReferenceError: aName is not defined" </pre> <p>Die Zuweisung des IIFE an eine Variable speichert den Rückgabewert der Funktion, nicht die Funktionsdefinition selbst.</p> <pre class="brush: js notranslate">var result = (function () { var name = "Barry"; return name; })(); // Immediately creates the output: result; // "Barry"</pre> <section class="Quick_links" id="Quick_Links"> <ol> <li>Mehr darüber erfahren <ol> <li><a href="/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript#Functions">Quick example</a> (at the end of the "Functions" section, right before "Custom objects")</li> </ol> </li> <li>Wikipedia Artikel <ol> <li>{{interwiki("wikipedia", "Immediately-invoked function expression", "IIFE")}}</li> </ol> </li> <li><a href="/en-US/docs/Glossary">Glossar</a> <ol> <li>{{Glossary("Function")}}</li> <li>{{Glossary("Self-Executing Anonymous Function")}}</li> </ol> </li> </ol> </section>