2010-09-10 74 views
3

我只是想吓坏了。我现在必须在一个其他人做的网站上工作,并且我被要求维护等。它使用jQuery和一堆drupal模块。在一些点我得到一些语法错误,所以一些js的作品,有些不。我的大问题是找到语法错​​误。 Firebug和WebInspector都没有给我正确的信息:找不到JavaScript语法错误

Error: uncaught exception: Syntax error, unrecognized expression: // 

是的......就是这样。没有线,没有文件名,没有更多的提示。有没有人有一个想法如何处理这个?

感谢您的任何有用的提示。

+0

我很惊讶,这是可能的。即使它生成了正在评估的代码,“eval()”错误仍然比您的示例更具信息性。 – slikts 2010-09-10 14:30:25

回答

3

你可能会尝试一个像closure compiler这样的工具,它会给出代码块的警告和错误。否则,它是蛮力与alert('checkpoint');来确定你的代码在事情破裂之前有多远。

+0

我建议使用Firebug的'console.log()'而不是'alert()',因为关闭警报窗口很烦人。 – slikts 2010-09-10 14:25:21

2

我相信Chrome的控制台会指出错误的行....右键点击页面> Inspect元素,然后在弹出的窗口的右下角点击红色的X图标,然后点击的链接错误上,使如有必要资源跟踪...

而且,把代码低谷的JSLint和纠正相应的代码...

1

我注释掉所有,但一个JavaScript的包括启动如果可能的话,一次在html中(除非它们是混乱的依赖关系)。除此之外,你可以尝试使用调试器逐行扫描它吗?最后,如果没有太多的工作,也许值得编写单元测试。它还将帮助您充分了解该人员的代码,并可能识别出更深层次的逻辑级别错误。

+1

我只是有一个想法...也许他们使用了一些令人讨厌的无用的try-catch块...你知道,这种类型: 'try {...} catch(exception){console.debug(“there was一个错误。“)}' ... – 2010-09-10 14:31:58

1

JSLint可能是你需要的,但我敢打赌,它发现更多的问题,而不仅仅是你难以捉摸的语法错误。