如何在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

上一篇: How to handle 'undefined' in javascript

下一篇: Javascript if else shorthand