Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Чем разница между "undefined" и undefined


Автор: Royan 20.12.2007, 11:46
Положим имеется код


Код

var obj;

if(typeof obj == "undefined") {
    // ...
}

if(typeof obj === undefined) {
    // ...
}


В чем тут разница?

Автор: AKS 20.12.2007, 12:58
Цитата(Royan @  20.12.2007,  11:46 Найти цитируемый пост)
В чем тут разница? 

Во втором условии Вы сравниваете строку, которую должен возвратить оператор typeof, со значением переменной (которой, кстати, может и не быть). Смысла в такой проверке мало - "непустая" строка (ожидаемая от оператора typeof) не будет эквивалентна значению переменной, которое "по-умолчанию" должно быть "неопределенным". 
Другое дело с первым условием - оператор возвращает какую-то из предустановленных строк, а Вы проверяете совпадение.

Автор: Royan 20.12.2007, 16:22
Цитата(AKS @  20.12.2007,  09:58 Найти цитируемый пост)
Вы сравниваете строку, которую должен возвратить оператор typeof, со значением переменной

В том то и суть что это не переменная. Вопрос в том что это.
Не верите запустите по отдельности строчки этого кода:
Код

var a;
//alert(a===y)
alert(a===undefined)

Автор: AKS 20.12.2007, 16:48
Цитата(Royan @  20.12.2007,  16:22 Найти цитируемый пост)
В том то и суть что это не переменная. Вопрос в том что это.

Ответ на этот вопрос Вы легко найдете в поиске (хотя я уже написал, что это).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)