如何在javascript中处理'undefined'
可能重复:
在JavaScript中检测未定义的对象属性
从下面的JavaScript示例
try {
if(jsVar) {
proceed();
}
}catch(e){
alert(e);
}
这个jsVar被宣布并在另一个js罚款。
问题是当代码在其他文件(其声明和启动的位置)执行之前执行时,代码会抛出未定义的错误。 这就是为什么它被尝试和捕获包围。
处理这个未定义错误的最佳方式是什么?
你可以检查事实
if (typeof(jsVar) == 'undefined') {
...
}
像JavaScript一样,有多种方法可以做到这一点:
typeof foo !== 'undefined'
window.foo !== undefined
'foo' in window
前两个应该是等价的(只要foo
没有被局部变量遮蔽),而最后一个将返回true
如果全局变量被定义,但没有被初始化(或者明确地被设置为undefined
)。
在JavaScript中,以下值将导致if条件失败并且不执行其语句:null,undefined,false,NaN,数字0和空字符串''。
假设变量jsVar是一个布尔值,并且我们希望在jsVar为true时调用proceed()方法,我们可以执行以下检查。
if (jsVar && jsVar == true)
proceed();
上面的代码片段首先检查jsVar是否已被定义,然后检查它的值是否为真。 if条件只有满足两个条件才能满足。
如果jsVar不是布尔值,那么我们可以在上面的代码中用适当的检查代替jsVar == true。
链接地址: http://www.djcxy.com/p/19445.html