在Javascript中查找解析错误

时间:2009-06-07 02:13:57

标签: javascript

有没有一种简单的方法可以在javascript代码中找到解析错误?

上周我调试了一个javascript问题,其中第一个被调用的javascript函数给出了“对象预期”错误。后来我确定这是因为浏览器无法解析我的javascript代码。我最终解决了这个问题,但这是一个痛苦的过程,包括逐行扫描我的代码,试图找出我的错误。

必须有一种更简单的方法。

3 个答案:

答案 0 :(得分:3)

您使用的浏览器是什么? IE8具有很强的内置功能来调试javascript,对于Firefox,Firebug很棒。

答案 1 :(得分:3)

使用Jslint之类的工具或其他浏览器。

直到最近,IE还是唯一没有内置开发帮助的浏览器。其他浏览器将a)在遇到的第一个错误时不会停止,b)告诉你代码中的问题是什么以及在哪里。

我最喜欢的“快速广告”测试IE语法问题的方法是在Opera中加载页面。它解析像IE这样的代码,但会给你有意义的错误消息。

我将用一个例子澄清:

var foo = {
  prop1 : 'value',
  prop2 : 'value',
  prop2 : 'value',   // <-- the problem
};

如果我没记错的话:在IE6和IE7中,代码会中断,因为IE要求留下最后一个逗号。解析器抛出一个拟合,浏览器就会停止。它可能会警告某些错误,但行号(甚至文件名)将不可靠。但是,Firefox和Safari只是忽略逗号。 Opera运行代码,但会在控制台上打印错误,指示行号(及更多)。

编写JavaScript的最简单方法是使用Firefox + Firebug。用IE测试并让Opera告诉你它什么时候会破坏。

答案 2 :(得分:1)

  1. 检查传入函数的值是否正确,如果不正确,则throwing your own errors将帮助您更快地追踪问题。

  2. Safari 4(在Mac OS X和Windows上运行)附带了一些非常有用的development tools(包括调试器)。如果您更喜欢使用Firefox,Firebug提供了类似的功能。

  3. JSLint可以帮助您追踪简单的错误。

  4. 史蒂夫