如何检查一个变量是否存在于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