Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die function Deklaration erstellt eine Bindung einer neuen Funktion mit einem gegebenen Namen.
Sie können Funktionen auch mithilfe des function Ausdrucks definieren.
Der Funktionsname.
param OptionalDer Name eines formalen Parameters für die Funktion. Die maximale Anzahl von Argumenten variiert in verschiedenen Engines. Für die Syntax der Parameter siehe die Referenz für Funktionen.
statements OptionalDie Anweisungen, die den Rumpf der Funktion bilden.
Eine function Deklaration erstellt ein Function Objekt. Jedes Mal, wenn eine Funktion aufgerufen wird, gibt sie den Wert zurück, der durch die zuletzt ausgeführte return Anweisung angegeben wird, oder undefined, wenn das Ende des Funktionsrumpfes erreicht ist. Siehe Funktionen für detaillierte Informationen zu Funktionen.
function Deklarationen verhalten sich wie eine Mischung aus var und let:
Warnung: Im Nicht-strict Mode verhalten sich Funktionsdeklarationen innerhalb von Blöcken seltsam. Deklarieren Sie Funktionen innerhalb von Blöcken nur, wenn Sie sich im strict mode befinden.
Funktionen können bedingt deklariert werden – das heißt, eine Funktionsanweisung kann innerhalb einer if Anweisung geschachtelt werden. Im Nicht-strict Mode sind die Ergebnisse jedoch inkonsistent zwischen Implementierungen.
Die Wirkung auf den Gültigkeitsbereich und das Hoisting ändert sich nicht, unabhängig davon, ob der if-Körper tatsächlich ausgeführt wird.
Im strict mode sind Funktionsdeklarationen auf Blockebene auf diesen Block beschränkt und werden an die Spitze des Blocks gehoben.
Funktionsdeklarationen in JavaScript werden an die Spitze des umgebenden Funktions- oder globalen Gültigkeitsbereichs gehoben. Sie können die Funktion verwenden, bevor Sie sie deklariert haben:
Beachten Sie, dass Funktionsausdrücke nicht gehoben werden:
Ob function Deklarationen im gleichen Gültigkeitsbereich neu deklariert werden können, hängt davon ab, in welchem Gültigkeitsbereich sie enthalten sind.
Auf oberster Ebene eines Skripts verhalten sich function Deklarationen wie var und können durch eine andere function oder var neu deklariert werden, aber nicht durch let, const, oder class.
Wenn function Deklarationen durch var neu deklariert werden, überschreibt der Initialisierer der var Deklaration immer den Funktionswert, unabhängig von ihrer relativen Position. Dies liegt daran, dass Funktionsdeklarationen vor allen Initialisierern gehoben werden, sodass der Initialisierer später kommt und den Wert überschreibt.
Auf der obersten Ebene des Funktionsrumpfes verhält sich function auch wie var und kann neu deklariert werden oder denselben Namen wie ein Parameter haben.
Auf der obersten Ebene eines Moduls oder eines Blocks im strict mode verhalten sich function Deklarationen wie let und können durch keine andere Deklaration neu deklariert werden.
Eine function Deklaration innerhalb eines catch Blocks kann nicht denselben Namen wie der catch-gebundene Bezeichner haben, selbst im Nicht-strict Mode.
Der folgende Code deklariert eine Funktion, die den Gesamtbetrag an Verkäufen zurückgibt, wenn die Anzahl der verkauften Einheiten von drei Produkten angegeben ist.
| ECMAScript® 2027 Language Specification # sec-function-definitions |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.