除了 jslint 之外,还有哪些工具可以验证和检查 Javascript 语法和样式?

发布于 2025-01-07 16:43:34 字数 1002 浏览 0 评论 0原文

在我们当前的项目中,我们使用 JSLint 来验证 Javacript 是否正确编写,并且它满足一些风格检查。这作为 Ant 任务包含在我们的 build.xml 中。

但是,我发现 JSLint 的许可证使其与免费开源软件不兼容

// 本软件应用于善良,而非邪恶。

我还发现 JSLint 在检查方面有点过于热心,并且使基于 JQuery 的开发变得困难 。我知道它的目的不是帮助开发脚本,而是检查脚本是否可以在大多数现有语言实现中工作。

最后,它的作用域不够智能:在 for 循环的头部定义变量有什么问题? (即 for (var i = 0; ...) 而不是 var i; for (i = 0; ...))。

编辑:这实际上是 Javascript 本身的问题。与大多数类似 C 的语言不同,JavaScript 没有块作用域。)

验证语法和样式的替代方法有哪些对于 Javascript 脚本,打算在现代网络浏览器中执行?任何实现语言都可以。我什至考虑过使用 Rhino 库 在 Java 中加载和执行脚本。

In our current project we are using JSLint for verifying that Javacript is written correctly, and that it satisfies a few style checks. This is included as an Ant task in our build.xml.

However, I have found that the license of JSLint makes it incompatible with free and open-source software:

// The Software shall be used for Good, not Evil.

I also find JSLint a bit too overzealous in its checks, and makes JQuery-based development difficult. I understand that its intent is not to help one develop scripts, but to check that the script will work in most existing language implementations.

Finally, it's just not smart enough with its scoping: what's wrong with defining a variable in the head of a for loop? (i.e. for (var i = 0; ...) rather than var i; for (i = 0; ...)).

(EDIT: This is actually a problem with Javascript itself. JavaScript does not have block scope, unlike most C-like languages.)

What alternatives exist for verifying the syntax and style for Javascript scripts, intended to be executed within modern web browsers? Any implementation language is fine. I've even thought about using the Rhino library to load and execute the script within Java.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

悸初 2025-01-14 16:43:34

为什么不尝试 TypeScript?它比任何“检查器”JS 可以提供并生成出色的代码要好得多。它也是类型安全且更简洁的语言。只是一个意见。

Why not try TypeScript? its much better than any "checker" JS can provide and generates great code. Its also type-safe and a leaner-meaner language. Just an opinion.

清醇 2025-01-14 16:43:34

JSHint 没有与 JSLint 相同的许可证。从某种意义上说,它确实拥有 MIT 许可证,但没有添加 JSLint 的“不作恶”。参见github链接:
gitHub 上的 jsHint 许可证

JSHint does not have the same license as JSLint. In a sense it does have an MIT license without the 'Do no evil' addition of JSLint. See the github link:
jsHint license on gitHub

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文