A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Errors/Unnamed_function_statement below:

SyntaxError: function statement requires a name(функция оператор требует имя) - JavaScript

SyntaxError: function statement requires a name(функция оператор требует имя) Сообщение
SyntaxError: ожидаемый идентификатор (Edge)
SyntaxError: оператор функции требует имя [Firefox]
SyntaxError: непредвиденный токен ( [Chrome]
Тип ошибки Что пошло не так?

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

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

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

function () {
  return 'Hello world';
}
// SyntaxError: function statement requires a name

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

var greet = function () {
  return "Hello world";
};

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

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

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

function Greeter() {
  german: function () {
    return "Moin";
  }
}
// SyntaxError: оператор функции требует имя

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

function Greeter() {
  german: function g() {
    return "Moin";
  }
}
Методы объекта

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

var greeter = {
  german: function () {
    return "Moin";
  },
};
Синтаксис вызова

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

promise.then(
  function() {
    console.log("success");
  });
  function() {
    console.log("error");
}
// SyntaxError: function statement requires a name

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

promise.then(
  function() {
    console.log("success");
  },
  function() {
    console.log("error");
  }
);
Смотрите также

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4