Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Альтернатива php-ного isset (https://javascript.ru/forum/css-html-internet-explorer/7590-alternativa-php-nogo-isset.html)

nematod 09.02.2010 14:19

Альтернатива php-ного isset
 
Здравствуйте.
Проблема такова, проверяю наличие переменной следующим образом:
if (window.z){...}
else {...}

В Опере всё работает без проблем, а в IE нифига.
Что делать, кто поможет разобраться?
:help: :help: :help:

Мараторий 09.02.2010 14:23

if("z" in window)

Increazon 08.09.2010 18:10

как то оливково. А если переменная не принадлежит window (а такое быть может?)

B@rmaley.e><e 08.09.2010 18:21

Если переменная не глобальная, то так и будет. Можно использовать
if(typeof blahblahblahblahblah == 'undefined') alert('Нет такой переменной.');

Но, если
blahblahblahblahblah = undefined;
if(typeof blahblahblahblahblah == 'undefined') alert('Нет такой переменной. О_о');

monolithed 08.09.2010 18:25

Если переменная объявлена локально:
if(some !== undefined)

Если переменная объявлена глобально:
if(window.some !== undefined)

Еще как вариант проверки наличия переменной:
if(typeof(some) == 'undefined' || some === null)

Хотя и еще могут быть варианты в зависимости от обстоятельств

Sweet 08.09.2010 18:55

Цитата:

Сообщение от Increazon
А если переменная не принадлежит window

В вопросе же написано window.z, так что ответ Мараторий вполне нормальный:)
var z;
if("z" in window){...};

UPD Я просто не в теме, что есть isset. Так что мож чего и не понял в вопросе:)

B@rmaley.e><e 08.09.2010 20:14

Sweet, isset это такой оператор в php.


Часовой пояс GMT +3, время: 08:18.