ReferenceError: "x" is not defined

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Сообщение

ReferenceError: "x" is not defined

Тип ошибки

ReferenceError.

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

Есть несуществующая переменная, которая ссылается куда-то. Эта переменная должна быть объявлена, или вам необходимо убедиться, что она доступна в вашем текущем скрипте или области исходного кода ( scope).

Примеры

Переменная не объявлена

foo.substring(1); // ReferenceError: foo is not defined

Переменная "Foo" не определена где-либо. Она должна быть в какой-то строке, так чтобы String.prototype.substring() метод начал работать.

var foo = "bar";
foo.substring(1); // "ar"

Неправильная часть кода

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

function numbers () { 
  var num1 = 2, 
      num2 = 3;
  return num1 + num2;
}

console.log(num1); // ReferenceError num1 is not defined.

Тем не менее, функция может получить доступ ко всем переменным и функциям, определенным в области видимости, в которой она определена.  Другими словами, функция, определенная в глобальной области может получить доступ ко всем переменным, определенным в глобальном масштабе.

var num1 = 2,
    num2 = 3;

function numbers () {
  return num1 + num2; 
}

console.log(num1); // 2

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

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

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