Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   FF 3.5: проверить наличие глобальной переменной? (https://javascript.ru/forum/css-html-firefox-mizilla/4186-ff-3-5-proverit-nalichie-globalnojj-peremennojj.html)

no_alex 01.07.2009 03:23

FF 3.5: проверить наличие глобальной переменной?
 
Есть весьма специфическая задача: надо в отдельной функции проверить определена ли глобальная переменная. Имя этой переменной передается как аргумент этой функции.

Раньше я делал это примерно вот так:
function test_var(x)
{
    alert (typeof(window[x]) != "undefined");
}
var a = "";

test_var("a");
test_var("b");


Теперь, FF 3.5 хотя и правильно все отрабатывает, но в "Консоль ошибок" вываливает warning: reference to undefined property window[x].

Можете предложить какой-то альтернативный способ для такой проверки (именно внутри функции, по имени переданному через аргумент)?
Очень желательно чтобы этот "альтернативный способ" работал в предыдущих версиях FF без дополнительных проверок на версию.

P.S. Возможно это баг в данной версии FF, который скоро пофиксят? - тогда я не буду с этим заморачиваться.

no_alex 01.07.2009 03:31

Еще прикол в том, что если я подобный способ применяю для проверки свойств у других объектов - он срабатывает прекрасно без всяких warning'ов. В предыдущих версиях FF это прокатывало и для window. А в данной версии почему-то именно у window я не могу сделать такую проверку.

Пробовал "гуглить" - ниче не нахожу по этому поводу.

Kolyaj 01.07.2009 09:01

function test_var(x) {
    alert(x in window);
}
а так?

no_alex 01.07.2009 12:46

Нормально. Заработало!
Блин, забыл про эту конструкцию.

Спасибо!


Часовой пояс GMT +3, время: 23:03.