SyntaxError: return not in function

Сообщение

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

Тип ошибки

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

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

Примеры

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

// SyntaxError: return not in function

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

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

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