Ядро JavaScript 1.5. Руководство по использованию

         

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


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

  • Если такая переменная была объявлена без использования var, возникает ошибка времени выполнения.

  • Если такая переменная была объявлена с использованием var, результатом будет значение undefined, или NaN в числовом контексте.
  • Следующий код демонстрирует вычисление переменных, не имеющих присвоенного значения.

    function f1() {

       return y - 2;
    }

    f1() //Вызывает ошибку времени выполнения/runtime error

    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





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