Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2010, 14:19
Аспирант
Отправить личное сообщение для nematod Посмотреть профиль Найти все сообщения от nematod
 
Регистрация: 09.02.2010
Сообщений: 87

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

В Опере всё работает без проблем, а в IE нифига.
Что делать, кто поможет разобраться?
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2010, 14:23
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

if("z" in window)
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2010, 18:10
Аватар для Increazon
Интересующийся
Отправить личное сообщение для Increazon Посмотреть профиль Найти все сообщения от Increazon
 
Регистрация: 14.04.2010
Сообщений: 19

как то оливково. А если переменная не принадлежит window (а такое быть может?)
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2010, 18:21
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

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

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

Последний раз редактировалось B@rmaley.e><e, 08.09.2010 в 18:23.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2010, 18:25
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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

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

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

Хотя и еще могут быть варианты в зависимости от обстоятельств
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2010, 18:55
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

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

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

Последний раз редактировалось Sweet, 08.09.2010 в 19:23.
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2010, 20:14
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Sweet, isset это такой оператор в php.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery, php, json… ? незнайка jQuery 4 06.02.2010 01:45
Защита от вторжения в php vova_b Javascript под браузер 7 13.12.2009 22:38
Php программист требуется(ЗП 30-60 тр.) Rimskaya Работа 0 15.10.2009 12:27
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23