我怎样才能确定一个JavaScriptvariables是否在页面中定义?
如何在页面中定义variables时如何检查JavaScript? 假设我想检查一个名为“x”的variables是否在页面中定义,如果我这样做if(x != null)
,它会给我一个错误。
我得到它使用if (typeof(x) != "undefined")
为了避免意外的分配,我习惯颠倒条件expression式的顺序:
if ('undefined' !== typeof x) {
typeof运算符与其他运算符不同,在与未声明的符号一起使用时不会引发ReferenceErrorexception,因此可以安全地使用…
if (typeof a != "undefined") { a(); }
你可以这样做:
如果(window.x!== undefined){//你在这里编码}
正如其他人所提到的, typeof
运算符甚至可以评估一个未声明的标识符而不会引发错误。
alert (typeof sdgfsdgsd);
将显示“未定义”,类似的东西
alert (sdgfsdgsd);
会抛出一个ReferenceError。
假设你的函数或variables是在典型的“全局”( 见: 窗口 )范围中定义的,我更喜欢:
if (window.a != null) { a(); }
或甚至以下,如果你正在检查一个函数的存在:
if (window.a) a();
尝试使用undefined
if (x !== undefined)
这是如何检查特定的浏览器function。