我通常使用Firebug进行开发,但最近我的一些脚本一直在默默地失败。在追踪错误数小时后,我发现我试图获取未定义变量的属性。控制台没有错误,页面只是“破了”。但是,在Chrome DevTools中,它可以正确识别错误。这是一个简单的测试用例:
var x = {
i: {a:1,b:2}
}
在Chrome中你得到
console.log(x.i.a); //1
console.log(x.iii.a); //Uncaught TypeError:
//Cannot read property 'a' of undefined
console.log('finished'); //does not execute
在Firebug中你得到了
console.log(x.i.a); //1
console.log(x.iii.a); //(nothing)
console.log('finished'); //does not execute
请参阅此Fiddle。
所以在一个真实的脚本中,当发生这种情况时,我很难跟踪我的脚本停止的位置,并且我必须添加大量的控制台日志记录以缩小错误。
这是一个错误,或者某种方式是Firebug的预期行为,或者可能有我可以调整的设置?我正在使用2.0.3。