使用eval时如何找到Javascript语法错误的位置?

时间:2011-11-22 20:04:53

标签: javascript

我有一个长字符串,我称之为eval。这导致语法错误。我试图弄清楚eval字符串中语法错误的位置。该页面正在IE 9中执行。

此代码字符串是大型进程的结果,是非常遗留的代码。该架构现在无法改变,因为这超出了我正在处理的缺陷的范围。它不是一个伟大的系统,当然也不是我写的系统,但它就是它。

4 个答案:

答案 0 :(得分:2)

您可以将eval替换为console.log,通过jsbeautifier运行已记录的字符串并发现语法错误。

如:

eval( "very huge string" )

- >

console.log( "very huge string" )

答案 1 :(得分:0)

通过重构,所以你不需要使用eval,几乎总有一种更好的方法。

答案 2 :(得分:0)

最好不要使用eval。将您的代码从eval()中删除,然后重试

答案 3 :(得分:0)

告诉您的应用在评估并遇到语法错误之前吐出您的字符串。你现在可以

  • 将其放入另一个文件并告诉浏览器运行它。 (错误消息通常更好)<​​/ li>
  • 将代码复制并粘贴到JSHint,然后让它为您找到语法错​​误。