SyntaxError: отсутствует формальный параметр
Исключение JavaScript "missing formal parameter" возникает, когда в объявлении вашей функции отсутствуют допустимые параметры.
Сообщение
SyntaxError: missing formal parameter (Firefox) SyntaxError: Unexpected number '3'. Expected a parameter pattern or a ')' in parameter list. (Safari) SyntaxError: Unexpected string literal "x". Expected a parameter pattern or a ')' in parameter list. (Safari)
Тип ошибки
Что пошло не так?
"Формальный параметр" — это причудливый способ сказать "параметр функции". В объявлении вашей функции отсутствуют допустимые параметры. При объявлении функции параметры должны быть идентификаторами, а не какими-либо значениями, такими как числа, строки или объекты. Объявление функций и вызов функций — это два отдельных шага. Объявления требуют идентификаторов в качестве параметров, и только при вызове (активации) функции вы предоставляете значения, которые функция должна использовать.
В JavaScript идентификаторы могут содержать только буквенно-цифровые символы (или "$" или "_") и не могут начинаться с цифры. Идентификатор отличается от строки тем, что строка является данными, тогда как идентификатор является частью кода.
Примеры
Предоставьте правильные параметры функции
Параметры функции должны быть идентификаторами при настройке функции. Все эти объявления функций завершаются неудачно, поскольку они предоставляют значения для своих параметров:
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
Вам нужно будет использовать идентификаторы в объявлениях функций:
function square(number) {
return number * number;
}
function greet(greeting) {
return greeting;
}
function log(arg) {
console.log(arg);
}
Затем вы можете вызвать эти функции с нужными вам аргументами:
square(2); // 4
greet("Howdy"); // "Howdy"
log({ obj: "value" }); // { obj: "value" }
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Missing_formal_parameter