Клиентский JavaScript 1.3 Руководство

Вычисление переменных


Вычисление переменных

Переменная или элемент массива, которым не присвоено значение, имеют значение undefined. Результат вычисления переменной, не имеющей присвоенного значения зависит от того, как она была объявлена:

  • Если переменная без присвоенного значения была объявлена без использования var, вычисление приведёт к ошибке времени выполнения/runtime error.
  • Если переменная без присвоенного значения была объявлена с использованием var, вычисление даст значение undefined, или NaN - в числовом контексте.

Следующий код демонстрирует вычисление переменных, не имеющих присвоенного значения:

function f1() {
   return y - 2;
}
f1() //Вызывает ошибку времени выполненияfunction f2() {
   return var y - 2;
}
f2() //возвращает NaN

Можно использовать undefined, чтобы определить, имеет ли переменная значение. В следующем коде переменной input не присвоено значение, и оператор if вычисляется в true.

var input;
if(input === undefined){
   doThis();
} else {
   doThat();
}

Значение undefined ведёт себя как false при использовании в качестве Булева значения. Например, следующий код выполняет функцию myFunction, поскольку элемент массива не определён:

myArray=new Array()
if (!myArray[0])
   myFunction()

Если вычисляется переменная со значением null, то значение null работает как 0 в числовом контексте и как false - в Булевом контексте. Например:

var n = null
n * 32 //возвращает 0



Содержание раздела