Сообщение

SyntaxError: 'return' statement outside of function (Edge)
SyntaxError: return not in function (Firefox)
SyntaxError: yield not in function (Firefox)

Тип ошибки

SyntaxError.

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

Вызов оператора return или yield был осуществлен вне функции. Может, где-то пропущена фигурная скобка? Операторы return и yield не могут существовать вне функции, поскольку они завершают (или останавливают и возобновляют) её исполнение и указывают значение, возвращаемое в место, откуда она была вызвана.

Примеры

var cheer = function(score) {
  if (score === 147)
    return 'Максимум!';
  };
  if (score > 100) {
    return 'Столетие!';
  }
}

// SyntaxError: return not in function

На первый взгляд кажется, что фигурные скобки расставлены правильно, но в данном примере пропущена { после первого оператора if. Правильный вариант:

var cheer = function(score) {
  if (score === 147) {
    return 'Максимум!';
  }
  if (score > 100) {
    return 'Столетие!';
  }
};

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

Метки документа и участники

Внесли вклад в эту страницу: KTatyana
Обновлялась последний раз: KTatyana,