Судя по всему я запрограммировался :/ пока начал писать, что вопрос не актуален и что, естественно, мой пример будет работать, уже увидел ваши ответы. Однако, большое спасибо за помощь!
Sweet, ваш ответ был особенно полезен, хотя у меня и не возникало проблем с проверками на undef без typeof, но я последовал вашему совету. Я еще использую оператор === при сравнении на undefined.
Ооо, действительно интересно:
Цитата:
|
if(x === undefined) is testing the value
if (typeof x === undefined) is testing the existence of x
|
А вот что пишут на javascript.ru:
Сообщение от http://javascript.ru/typeof
|
В старом javascript-коде можно увидеть применение typeof для проверки существования переменной:
if (typeof(var) == "undefined") { ... }
В современном javascript лучше писать:
if (window.var !== undefined) { ... }
или, зачастую, подойдет и просто:
if (window.var) { ... }
P.S. Использовать просто if(var) нельзя, так как доступ к неопределенной переменной вызовет ошибку. Ну а обращение к отсутствующему свойству глобального объекта window всего лишь вернет undefined
|