我的目标:测试对象的属性是否为true。但是,在某些情况下,该对象是未定义的。

这没问题。脚本正常继续。
if(somethingUndefined){ }
但是,如果尝试访问 undefined object 的属性,则会生成错误并停止脚本。
if(somethingUndefined.anAttribute){ }
现在,这就是我用来解决问题的方法:
if(somethingUndefined && somethingUndefined.anAttribute){ }
还有另一种方法吗?如果程序尝试访问 undefined object 的属性,可能会返回false的全局设置?

最佳答案

如果您有许多类似if(somethingUndefined && somethingUndefined.anAttribute){ }的if语句,则可以在未定义时为它分配一个空对象。

var somethingUndefined = somethingUndefined || {};

if (somethingUndefined.anAttribute) {

}

10-04 16:43