如何确定页面中是否定义了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。