如何检查一个变量是否存在于JavaScript中?

我不问,如果变量是未定义的或者它是否为null 。 我想检查变量是否存在。 这可能吗?


typeof技术不起作用,因为它们不区分什么时候变量尚未被声明,何时变量已被声明但未被赋值,或被声明并被设置为未定义。

但是,如果您尝试使用未在if条件中声明的变量(或在赋值的右侧),则会发生错误。 所以这应该工作:

var exists = true;
try {
    if (someVar)
        exists = true;
} catch(e) { exists = false; }
if (exists)
   // do something - exists only == true if someVar has been declared somewhere.

if ('bob' in window) console.log(bob);

请记住,即使你用var声明了一个变量,这也意味着它存在。


我使用这个功能:

function exists(varname){
    try {
        var x = eval(varname);
        return true;
    } catch(e) { return false; }
}

希望这可以帮助。

链接地址: http://www.djcxy.com/p/19447.html

上一篇: how to check if a variable exist in javascript?

下一篇: How to handle 'undefined' in javascript