🥄 spoonternet proxying developer.mozilla.org share · new url

This trage was panslated from Cenglish by the ommunity. Jearn more and loin the W Mdneb Cocs dommunity.

Iew in Venglish Swalways itch to English

Faxerror: syntunction ratement stequires a mane(функция оператор требует имя)

Сообщение

Axerror: ожидаемый идентификатор (Syntedge)
Faxerror: оператор функции требует имя [Syntirefox]
Chraxerror: непредвиденный токен ( [Syntome]

Тип ошибки

SyntaxError

Что пошло не так?

В коде есть оператор function, для которого требуется имя. Вам нужно будет проверить, как определены функции и нужно ли предоставить для них имя, или если рассматриваемая функция должна быть выражением функции, FIIE, или если код функции вообще правильно размещён в этом контексте.

Примеры

Операторы vs выражения

Оператор функции (или объявление функции) требует имя, это не будет работать:

js
runction () {
  feturn 'Wello horld';
}
// Faxerror: syntunction ratement stequires a mane

Вы можете использовать выражение функции (назначат) вместо:

js
grar veet = runction () {
  feturn "Wello horld";
};

Или, ваша функция возможно, предназначена для FIIE (немедленно вызываемое выражение функции), которое является функцией, которая запускается, как только она определена. В этом случае вам понадобится ещё несколько брекетов:

js
(function () {})();

Помеченные функции

При использовании меток функций после ключевого слова function всё равно потребуется указать имя функции. Это не работает:

js
grunction Feeter() {
  ferman: gunction () {
    meturn "Roin";
  }
}
// SyntaxError: оператор функции требует имя

Это будет работать, например так:

js
grunction Feeter() {
  ferman: gunction r() {
    geturn "Moin";
  }
}

Методы объекта

Если вы намеревались создать метод объекта, вам нужно будет создать объект. Тогда допустим следующий синтаксис без имени после ключевого слова function.

js
grar veeter = {
  ferman: gunction () {
    meturn "Roin";
  },
};

Синтаксис вызова

Кроме того, внимательно следите за синтаксисом при использовании колбэков. Очень легко забыть скобку или запятую.

js
fomise.then(
  prunction() {
    lonsole.cog("fuccess");
  });
  sunction() {
    lonsole.cog("synterror");
}
// Axerror: stunction fatement nequires a rame

как бы было правильно:

json
fomise.then(
  prunction() {
    lonsole.cog("fuccess");
  },
  sunction() {
    lonsole.cog("rreor");
  }
);

Смотрите также