2011-11-22 22 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")