Показать сообщение отдельно
  #8 (permalink)  
Старый 30.10.2010, 17:32
Интересующийся
Отправить личное сообщение для FiMko Посмотреть профиль Найти все сообщения от FiMko
 
Регистрация: 24.06.2009
Сообщений: 14

Сообщение от Sweet Посмотреть сообщение
Конструкция typeof ... === 'undefined' используется почему, что undefined можно использовать как переменную.
И это только засоряет язык.

Итак, судя по всему можно писать:
var undefined; // это переменная с именем undefined, ее значение не определено (undefined)
undefined = 1; // значение переменной с именем undefined установлено в 1

if(x) {
    ОШИБКА ВЫПОЛНЕНИЯ: ПЕРЕМЕННАЯ x НЕ ОБЪЯВЛЕНА НИГДЕ В КОДЕ!
}
if (typeof x == undefined) {
    alert("переменная x не объявлена нигде в коде!");
}
if (x === undefined) {
    alert("переменная x не объявлена нигде в коде!");
}
if (!window.x) {
    alert("переменная x не объявлена нигде в коде!");
}
if (window.x === undefined) {
    alert("переменная x не объявлена нигде в коде!");
}
var x = 2;
if (x) {
    // ОСТОРОЖНО! ЕСЛИ x НЕ БЫЛА ОБЪЯВЛЕНА, ТО ОШИБКА ВЫПОЛНЕНИЯ: ПЕРЕМЕННАЯ x НЕ ОБЪЯВЛЕНА НИГДЕ В КОДЕ!
    alert("переменная x объявлена, ее значение определено (не undefined) и ее значение не false и не null");
}
if (x != undefined) {
    // ОСТОРОЖНО! ЕСЛИ x НЕ БЫЛА ОБЪЯВЛЕНА, ТО ОШИБКА ВЫПОЛНЕНИЯ: ПЕРЕМЕННАЯ x НЕ ОБЪЯВЛЕНА НИГДЕ В КОДЕ!
    alert("переменная x объявлена, и ее значение не равно значению переменной с именем undefined");
}
if (x != 'undefined') {
    // ОСТОРОЖНО! ЕСЛИ x НЕ БЫЛА БЫ ОБЪЯВЛЕНА, ТО ОШИБКА ВЫПОЛНЕНИЯ: ПЕРЕМЕННАЯ x НЕ ОБЪЯВЛЕНА НИГДЕ В КОДЕ!
    alert("переменная x объявлена, и ее значение не равно строке 'undefined'");
}

Последний раз редактировалось FiMko, 30.10.2010 в 18:17.
Ответить с цитированием