让我十分烦恼的一件事是Javascript在许多情况下都会悄无声息地失败。
(移除了一个例子,因为它混淆了我的问题)
很多时候,当我在Firebug控制台中输入错误时,会提示出错信息,但当它在页面脚本中运行时,它却悄无声息地失败,即使Firebug控制台处于活动状态并打开!
Crockford的JsLint可以捕捉其中的一些问题,但仍有许多问题无法捕捉。
难道没有一种方法可以在浏览器中启用更多的错误信息吗?
你能做到这一点而不使用javascript调试器环境吗?我发现调试器对我帮助不大。我通常会插入几个console.log()语句,并在一分钟内找到问题所在。让我烦恼的是,在Javascript中静默错误可能会长时间未被注意,或以完全不明显的方式显示出来。更加令人沮丧的是,测试控制台中的语句确实会产生错误,那么问题出在哪里呢?
顺便说一下,我也遇到了同样的异常问题,有人注意到了吗?经常我的throw new
语句根本没有起作用。但如果我在控制台中输入相同的内容,它就可以。
感谢您的有益评论(第一条答案),但这不是我的问题。例如,在需要对类的参数进行过滤时,这些测试非常有用,当您不确定环境是否存在时。你不希望在你预期他们应该出现的地方测试属性或类;这只会使代码膨胀而没有原因。