【问题标题】:How to find Javascript syntax errors? [closed]如何查找 Javascript 语法错误? [关闭]
【发布时间】:2011-01-08 08:54:42
【问题描述】:

我正在编写一段 JavaScript 代码,并在语法上犯了大量愚蠢的错误。但是找到错误所在行的唯一方法是开始注释掉我刚刚编写的代码部分并将其重新加载到浏览器中以缩小我丢失的 ');' 的范围。是。

如何“编译” JavaScript 源代码以确保其语法正确,以便我可以在浏览器中对其进行调试?

【问题讨论】:

    标签: javascript browser syntax


    【解决方案1】:

    一个想法是使用 Firebug 控制台以交互方式对您的脚本进行试验,然后仅将经过测试的部分移动到您的代码中。

    【讨论】:

      【解决方案2】:

      试试JSlint

      它是调试 Javascript 的绝佳工具。如果您使用的是 jQuery 库,则有一个插件正在开发中并且最近刚刚发布,类似地称为 jQuery Lint

      【讨论】:

      【解决方案3】:

      Douglas Crockford 的 Jslint:http://www.jslint.com/

      但请注意,这会伤害你的感情 ;-)

      【讨论】:

      • 这不会查找语法错误,它会查找代码异味。
      【解决方案4】:

      Javascript 由浏览器运行。我不确定是否有“编译器”。

      您可以尝试的一件事是安装了 Firebug 插件的 Firefox。您可以轻松刷新页面,获取错误列表,包括行号等。轻松调试。

      另外 - 如果您愿意,可以使用 Visual Studio 2008(或 free web developer version)为您提供 Javascript 智能感知,包括 jQuery 支持。这将极大地帮助您保持代码整洁。

      【讨论】:

        【解决方案5】:

        http://www.javascriptlint.com/

        以下是 JavaScript Lint 查找的一些常见错误:

        • 行尾缺少分号。
        • 不带 if、for、while 等的花括号
        • 由于返回、抛出、继续或中断而永远不会运行的代码。
        • switch 中没有 break 语句的 case 语句。
        • 数字的前导和尾随小数点。
        • 将数字转换为八进制(以 8 为底)的前导零。
        • cmets 内的评论。
        • 两个相邻行是否属于同一语句的歧义。
        • 什么都不做的语句。

        【讨论】:

        • 这个工具确实能准确指出javascript中的错误。感谢您的链接。它节省了很多时间和挫败感。
        • 找不到位于 www.javascriptlint.com 的服务器,因为 DNS 查找失败。
        【解决方案6】:

        Eclipse IDE(带有 JSEclipse 插件)几乎可以识别我们所有的语法问题。

        我建议最好的编辑之一是IntelliJ,但它不是免费的。

        【讨论】:

          【解决方案7】:

          如果您使用 Textmate (mac),您可以安装 this bundle

          主要是 jslint,它会检查你的 JS 语法。
          它还包含其他一些好东西,例如各种压缩工具

          【讨论】:

            【解决方案8】:

            Ctrl + Shift + J 在 firefox 中,如果你直到运行时才发现错误。当然 firebug 效果更好,但这是一种快速的方法。

            【讨论】:

              【解决方案9】:

              Chrome : Ctrl + Shift + J : 这将打开 JavaScript 控制台。您可以单击脚本选项卡来查看页面脚本。

              FireFox:安装 firebug 并运行它以获得与上述 chrome 实用程序类似的控制台。

              IDE:您可能希望使用netbeansEclipse,它们都为JavaScript 提供语法高亮和代码完成。这些将指示代码时的语法错误。

              jslint/jshint:这些工具提供代码建议以提高您的代码质量并减少错误(逻辑)的可能性,但也会中断语法和其他错误。

              【讨论】:

                【解决方案10】:

                我发现 JSHint,+ 它的 vim 插件非常有用。 vim 的轻量级并且仍然能够跟踪 javascript 的语法错误。

                https://github.com/walm/jshint.vim

                【讨论】:

                  【解决方案11】:

                  您可以使用EsprimaJavaSript 解析器(该链接是一个在线代码编辑器即可使用)。

                  我相信它是目前最好的即用型 js 中的 js 解析器,这就是我在我的 LIVEditor 项目中使用它的原因(html/css/js 的代码编辑器实时预览)。

                  【讨论】:

                  • 您可以使用npm install --global esprima 安装,然后使用esvalidate path/to/file.js 对文件运行javascript 语法验证器。
                  猜你喜欢
                  • 2015-12-07
                  • 2011-07-13
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-03-06
                  • 1970-01-01
                  • 2014-08-27
                  • 2010-10-25
                  相关资源
                  最近更新 更多