Fehlermeldung
SyntaxError: missing formal parameter (Firefox)
Fehlertyp
Was ist falsch gelaufen?
"Formaler Parameter" ist eine andere Bezeichnung für Funktionsparameter. Einer Funktion fehlen valide Parameter. In der Deklaration einer Funktion müssen die Parameternamen Bezeichner, kein Wert einer Nummer, eines Strings oder eines Objektes. Deklarieren und Aufrufen von Funktionen sind zwei verschiedene Schritte. Deklarieren setzt Bezeichner als Parametername voraus und beim Ausführen (Aufrufen) der Funktion müssen Werte für die Funktion benutzt werden.
In JavaScript können Bezeichner nur alphanumerische Zeichen (und "$" und "_") enthalten und können nicht mit einer Zahl beginnen. Ein Bezeichner unterscheidet sich von einem String, weil der String Daten sind und der Bezeichner teil des Codes.
Beispiele
Funktionsparameter müssen Bezeichner beim erstellen der Funktion sein. Alle diese Funktionsdeklarationen schlagen fehl, wenn ein Wert als Parameter benutzt wird:
function square(3) {
return number * number;
};
// SyntaxError: missing formal parameter
function greet("Howdy") {
return greeting;
};
// SyntaxError: missing formal parameter
function log({ obj: "value"}) {
console.log(arg)
};
// SyntaxError: missing formal parameter
Man muss einen Bezeichner für die Funktionsdeklarationen benutzen:
function square(number) {
return number * number;
};
function greet(greeting) {
return greeting;
};
function log(arg) {
console.log(arg)
};
Danach kann man die Funktionen mit beliebigen Argumentwerten aufrufen:
square(2); // 4
greet("Howdy"); // "Howdy"
log({obj: "value"}); // Object { obj: "value" }
Siehe auch
- Andere Fehler, die etwas mit formalen Parametern zu tun haben: