Ну, мой вопрос очевиден,Лучший способ проверить, существует ли переменная в Javascript?
Пример:
Определение a
со значением по умолчанию undefined
:
var a;
Если я хочу, чтобы проверить, если a
вар существует, я попытаюсь с:
Но в этом случае a
действительно существует и a
значение undefined
, но в boolean evaluation
это false
.
var a; // default value is 'undefined'
if (a) {
alert('a exists');
} else {
alert("a don't exists")
}
Я могу также попробовать на следующем примере: но этот пример генерирует ошибку.
// var a;
// a is not defined
if (a) {
alert('a exists');
} else {
alert("a don't exists")
}
И в этом примере, я стараюсь с typeof
. Но a
определяется значением undefined
по умолчанию.
var a;
if (typeof a != 'undefined') {
alert('a exists');
} else {
alert("a don't exists")
}
И в этом примере
console.log ('var a exists:', window.hasOwnProperty('a'));
Что такое лучший способ проверить, если переменная существует на самом деле и почему?
Спасибо.
Возможный дубликат [JavaScript проверить, если переменная существует (определяется/инициализирован)] (http://stackoverflow.com/questions/5113374/javascript-check-if-variable-exists -is-defined-initialized) – Dekel
Если по умолчанию переменная a не определена, тогда проверьте (typeof a == "undefined"). – MCMXCII
Для первого, 'a === undefined'. Во-вторых, используйте перемычки и наблюдайте за консолью разработчиков, чтобы исправить ошибки, когда вы забыли «var a». Не используйте лишние хакеры типа, которые скрывают полезные сообщения об ошибках и позволяют избежать ошибок. –