2009-06-07 64 views
3

有没有简单的方法来查找javascript代码中的分析错误?在Javascript中查找分析错误

上周我调试了一个javascript问题,其中第一个被调用的javascript函数给出了'object expected'错误。后来我确定这是因为浏览器无法解析我的JavaScript代码。我最终解决了这个问题,但是这是一个痛苦的过程,涉及到我的代码逐行倾泻,试图找到我的错误。

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

回答

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告诉你什么时候出现问题。

+0

Jslint正是我​​发布这篇文章时所期待的工具类型。谢谢。 – theycallmemorty 2009-06-10 14:50:43

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

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

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

史蒂夫

3

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

+1

如果错误是“对象预期”,那么它必须是IE。 – 2009-06-07 02:49:21