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

时间:2020-03-06 14:46:37  来源:igfitidea点击:

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

解决方案

尝试使用未定义

if (x !== undefined)

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

我使用`if(typeof(x)!=" undefined")来工作。

与其他运算符不同,typeof运算符与未声明的符号一起使用时不会抛出ReferenceError异常,因此可以安全使用...

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

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

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

或者什至以下内容(如果要检查函数是否存在):

if (window.a) a();

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

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

我们可以使用以下方法做到这一点:

如果(window.x!==未定义){
//我们在这里编码
}

正如其他人提到的那样,typeof运算符甚至可以评估未声明的标识符,而不会引发错误。

alert (typeof sdgfsdgsd);

将显示"未定义",例如

alert (sdgfsdgsd);

会抛出ReferenceError。