Задать вопрос
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как проверить определена ли переменная в js?

Как проверить наличие переменной, определена ли она в js?
Я вижу ошибку:
ReferenceError: ... is not defined


Конструкция вроде этой не помогает:
if (variable !== undefined) {
...
}

Как быть?
  • Вопрос задан
  • 43941 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 3
deadbyelpy
@deadbyelpy
веб-шмеб
а вот берете и пишете

function isset(r) {
    return typeof r !== 'undefined';
}
// проверка на переменную varname в глобальном контексте
console.log(isset(window['varname']);
// проверка на переменную V у объекта
console.log(isset(App.V));
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
// Проверяют так
if (typeof variable !== 'undefined') {
    // code
}

// Можно и так, ибо все глобалы лежат в window
if (window.variable !== void 0) {
    // code
}
Ответ написан
Комментировать
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
typeof variable != undefined;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@dplsoft
единственный известный мне способ отличить глобальную переменную
со значением undefined, от несуществующей переменной - это попытка присвоить её значение другой переменной. Вылетает исключение, которое мы перехватываем.

Причем надо пытаться взять значение самой переменной ( VAR ), а не через window ( window.VAR )

try { var aa=VAR; } // если тут отхватим исключение - значит у нас нет переменной VAR
 catch(e) { VAR =undefined; };  // присвоение  undefined значения - _определит_ переменную

// и далее её можно использовать 
var bb=VAR; // тут уже не вылетит исключение
Ответ написан
Комментировать
yaBinom
@yaBinom
Programmist
if (!!variable) {
...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы