如何确定页面中是否定义了javascript变量?

How can I determine if a JavaScript variable is defined in a page?

本问题已经有最佳答案,请猛点这里访问。

如果在页面中定义了变量,如何签入javascript?假设我想检查一个页面中是否定义了一个名为"x"的变量,如果我执行if(x != null),它会给我一个错误。


我用if (typeof(x) !="undefined")工作


为了避免意外分配,我习惯于颠倒条件表达式的顺序:

1
if ('undefined' !== typeof x) {


与其他运算符不同,typeof运算符在与未声明的符号一起使用时不会引发引用错误异常,因此可以安全地使用…

1
2
3
if (typeof a !="undefined") {
    a();
}

正如其他人所提到的,EDCOX1×1运算符可以对未声明的标识符进行评估,而不会引发错误。

1
alert (typeof sdgfsdgsd);

将显示"未定义",其中

1
alert (sdgfsdgsd);

将引发引用错误。


您可以通过以下方式完成:

如果(Window!x)!{=未定义的){//你在这里编码}


假设您的函数或变量是在典型的"全局"(请参见:窗口)范围内定义的,那么我更喜欢:

1
2
3
if (window.a != null) {
   a();
}

如果您正在检查函数的存在,甚至是以下内容:

1
if (window.a) a();


尝试使用未定义

1
if (x !== undefined)

这是检查特定浏览器功能的方式。