如果在页面中定义了变量,我如何检查JavaScript?假设我想检查页面中是否定义了名为“x”的变量,如果我if(x != null)
,则会给出错误。
答案 0 :(得分:156)
我使用if (typeof(x) != "undefined")
答案 1 :(得分:48)
为避免意外分配,我养成了颠倒条件表达式顺序的习惯:
if ('undefined' !== typeof x) {
答案 2 :(得分:22)
与其他运算符不同,typeof运算符在与未声明的符号一起使用时不会抛出ReferenceError异常,因此可以安全使用...
if (typeof a != "undefined") {
a();
}
答案 3 :(得分:1)
你可以这样做:
if(window.x!== undefined){ //你在这里编码 }
答案 4 :(得分:1)
正如其他人所提到的,typeof
运算符甚至可以评估未声明的标识符,而不会抛出错误。
alert (typeof sdgfsdgsd);
将显示“undefined”,类似
alert (sdgfsdgsd);
将抛出一个ReferenceError。
答案 5 :(得分:0)
假设您的功能或变量是在典型的“全局”(参见:窗口的)范围内定义的,我更喜欢:
if (window.a != null) {
a();
}
甚至以下,如果您正在检查函数是否存在:
if (window.a) a();
答案 6 :(得分:-3)