好吧,我觉得这个问题很愚蠢,原谅我糟糕的研究技巧,但……
使用这个例子
if( obj.attr1.attr2.attr3 == 'constant' ) return; else if( condition2 ) ...
如果obj.attr1未定义,则javascript引擎会抛出错误.
>抛出的错误是什么?这是普遍定义的吗?
>是否可以全局捕获此错误?
>如果被困,是否有可能执行下一行condition2?
澄清:因为尝试获取未定义的属性而引发错误.有没有办法知道这是错误被提出?它是在一些标准的JavaScript错误消息表?
第二,将错误困在上游,程序是否可以不间断地流动?
最佳答案 可以使用try / catch块捕获此错误:
try{
if( obj.attr1.attr2.attr3 == 'constant' ) {
alert("test");
}
}
catch(e)
{
alert(e.Message);
}
该例外为您提供以下内容:
description "'obj' is undefined" String
message "'obj' is undefined" String
name "TypeError" String
number -2146823279 Number