Javascript проверка на неопределенную переменную (test for undefined variable)
Задача: проверить существование переменной в JavaScript
Решение:
Пример 1 неверно
<script type="text/javascript" language="JavaScript"> //< ![CDATA[ if(a==undefined) alert(’переменная неопределнена’); else alert(’переменная определена’); //]]></script>
Выдает ошибку "переменная a неопределена"
Пример 2 верно
<script type="text/javascript" language="JavaScript"> //< ![CDATA[ var a; if(a==undefined) alert(’переменная неопределнена’); else alert(’переменная определена’); //]]> </script>
Скрипт отрабатывает правильно. Выдается окно 'переменная неопределнена’
Пример 3 при использовании функции верно
<script type="text/javascript" language="JavaScript"> //< ![CDATA[ function test1(b,a) { if(a==undefined) alert(’переменная неопределнена’); else alert(’переменная определена’); } test (1) // вызов функции без второго параметра //]]> </script>
Скрипт отрабатывает правильно. Выдается окно 'переменная неопределнена’
22 Сентябрь 2007 в 02:09
Интересует проверка на существование переменных и свойств объектов, не проверка объявленных переменных, а вообще, всех, любых переменных.
22 Сентябрь 2007 в 02:13
Все спасибо, извините за то что потревожил, буквально сразу нашёл идею, удовлетворяющую моим запросам 😉
2 Июль 2011 в 19:15
Во первых – надо писать строгое равенство =, так как ваша запись ничем не отличается от 0 или == null
Во вторых если переменная не существует (например убрать var a; во втором примере), скрипт вылетит с ошибкой
Учите матчасть и исправте статью
2 Июль 2011 в 19:17
в моем комментарии вырезаены некоторые знаки равенства. должно быть три знака = вместо одного и два знака = неред нулем
2 Июль 2011 в 21:01
я был неправ в одном пункте, 0 не равно undefined, но null равно undefined