2011-11-22 63 views
0

我有一个很长的字符串,我打电话eval。这会导致语法错误。我试图找出eval字符串中语法错误的位置。该页面在IE 9中执行。如何在使用eval时找到Javascript语法错误的位置?

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

+0

你能够调试字符串作为脚本?是否有一个非常好的理由使用'eval'(我只知道2)? – zzzzBov

回答

0

通过重构,您不需要使用eval,总会有更好的方法。

0

最好不要使用eval。把你的代码出来的eval(),然后再试一次

0

告诉你的应用程序EVAL-ING运行到语法错误之前吐出的字符串。您现在可以使用

  • 将其放入另一个文件并告诉浏览器运行该文件。 (错误消息通常以这种方式更好)
  • 将代码复制并粘贴到JSHint中,并要求它为您查找语法错误。
2

你可以替换evalconsole.log,通过jsbeautifier运行记录的字符串,并当场语法错误。

如:

eval("very huge string")

- >

console.log("very huge string")