JavaScript Funktionsparameter
JavaScript-Funktionen führen keine Überprüfung der Werte von Parametern durch.
Explizite Funktionsparameter und implizite Argumente
In früheren Tutorials haben wir bereits etwas über explizite Parameter von Funktionen gelernt:
Explizite Funktionsparameter werden aufgelistet, wenn die Funktion definiert wird.
Implizite Funktionsargumente sind die tatsächlichen Werte, die beim Aufruf an die Funktion übergeben werden.
Parameterregeln
JavaScript-Funktionen geben bei der Definition expliziter Parameter keine Datentypen an.
JavaScript-Funktionen führen keine Typprüfung für implizite Argumente durch.
JavaScript-Funktionen prüfen nicht die Anzahl der impliziten Argumente.
Standardparameter
In ES5: Wenn die Funktion aufgerufen wird, ohne implizite Argumente bereitzustellen, wird der Parameter standardmäßig auf:undefined gesetzt.
Manchmal ist das akzeptabel, aber es wird empfohlen, einen Standardwert für den Parameter festzulegen:
Oder eine noch einfachere Möglichkeit:
![]() |
Wenn y bereits definiert ist,y || 0return y, weil y wahr ist; andernfalls return 0, weil undefined falsch ist. |
|---|
Wenn beim Aufruf einer Funktion zu viele Argumente übergeben werden, können die zusätzlichen Argumente nicht referenziert werden, da kein entsprechender Parametername gefunden werden kann. Auf sie kann nur über das arguments-Objekt zugegriffen werden.
ES6-Funktionen können Standardparameter haben
ES6 unterstützt Funktionen mit Standardparametern, was der Operation des Prüfens auf undefined und || entspricht:
Beispiel (ES6)
Selbst ausprobieren »
Das arguments-Objekt
JavaScript-Funktionen haben ein eingebautes Objekt, das arguments-Objekt.
Das arguments-Objekt enthält das Array der Argumente für einen Funktionsaufruf.
Auf diese Weise können Sie leicht den Wert des größten Arguments finden:
Beispiel
Selbst ausprobieren »
Oder erstellen Sie eine Funktion, um alle Werte zu summieren:
Beispiel
Selbst ausprobieren »
Parameterübergabe als Wert
Die Argumente, die beim Aufruf einer Funktion übergeben werden, sind die impliziten Argumente der Funktion.
JavaScript implizite Argumente werden als Wert übergeben: Die Funktion erhält nur den Wert.
Wenn die Funktion den Wert eines Parameters ändert, ändert sie nicht den ursprünglichen Wert des expliziten Parameters (der außerhalb der Funktion definiert ist).
Änderungen an impliziten Argumenten sind außerhalb der Funktion nicht sichtbar.
Parameterübergabe per Objekt
In JavaScript können Sie auf den Wert eines Objekts verweisen.
Wenn wir also eine Eigenschaft eines Objekts innerhalb einer Funktion ändern, ändert dies seinen ursprünglichen Wert.
Das Ändern von Objekteigenschaften kann sich auf das Äußere der Funktion auswirken (globale Variablen).
Änderungen an Objekteigenschaften sind außerhalb der Funktion sichtbar.
Andere Erweiterungen