Проверка наличия переменной в javascript не работает - PullRequest
1 голос
/ 22 ноября 2011

Пробовал:

var xxx = (typeof my_var.property !== 'undefined') ? my_var.property : 'fu';

Я получаю:

Неопределенное исключение: ReferenceError: Неопределенная переменная: my_var

хорошо, я знаю, что это не определено, но почему я получаю эту ошибку ?? ххх должен принять значение фу ...

Ответы [ 5 ]

5 голосов
/ 22 ноября 2011

Ваш код проверяет, является ли тип my_var.property неопределенным.Но эту нельзя проверить , поскольку сам тип my_var уже не определен.

3 голосов
/ 22 ноября 2011

Попробуйте сначала проверить только my_var, это может быть undefined, тоже

var xxx = (typeof my_var !== 'undefined' && my_var.property !== 'undefined') ? my_var.property : 'fu';
2 голосов
/ 22 ноября 2011

Добавить еще один чек для my_var

var xxx =  (typeof my_var != 'undefined' && typeof my_var.property !== 'undefined')? my_var.property : 'fu';
2 голосов
/ 22 ноября 2011

Оценка my_var.property завершается ошибкой, поскольку my_var имеет значение null или не определено.Усовершенствуйте свой код следующим образом:

var xxx = (my_var && typeof my_var.property !== 'undefined') ? my_var.property : 'fu';
1 голос
/ 22 ноября 2011

я думаю, что вы должны сначала проверить my_var

if(!myvar) 
{
     var xxx = (typeof my_var.property !== 'undefined') ? my_var.property : 'fu';
     alert(xxx);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...