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

除了jslint之外,还有什么工具可以验证和检查Javascript语法和样式?,javascript,syntax,Javascript,Syntax,在我们当前的项目中,我们使用它来验证JavaScript是否正确编写,以及它是否满足一些样式检查。这是作为Ant任务包含在我们的build.xml中的 然而,我发现这一点: //软件应用于善,而非恶 我还发现JSLint在检查时有点过于热心,并且。我知道它的目的不是帮助开发脚本,而是检查脚本是否能在大多数现有语言实现中工作 最后,它的作用域不够智能:在for循环的头部定义变量有什么不对?(即,for(var i=0;…)而不是var i;for(i=0;…)) (编辑:这实际上是Javascri

在我们当前的项目中,我们使用它来验证JavaScript是否正确编写,以及它是否满足一些样式检查。这是作为Ant任务包含在我们的
build.xml
中的

然而,我发现这一点:

//软件应用于善,而非恶

我还发现JSLint在检查时有点过于热心,并且。我知道它的目的不是帮助开发脚本,而是检查脚本是否能在大多数现有语言实现中工作

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

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


有哪些替代方案可用于验证Javascript脚本的语法和样式(打算在现代web浏览器中执行)?任何实现语言都可以。我甚至考虑过在Java中使用来加载和执行脚本。

使用JSHint:

使用JSHint:

JSHint与JSLint没有相同的许可证。从某种意义上说,它确实拥有麻省理工学院的许可证,没有添加JSLint的“不作恶”。请参阅github链接:
JSHint与JSLint没有相同的许可证。从某种意义上说,它确实拥有麻省理工学院的许可证,没有添加JSLint的“不作恶”。请参阅github链接:
为什么不试试打字脚本呢?它比任何“checker”JS都能提供和生成优秀的代码要好得多。它还具有类型安全性和更精简、更刻薄的语言。只是一个意见。

为什么不试试打字脚本呢?它比任何“checker”JS都能提供和生成优秀的代码要好得多。它还具有类型安全性和更精简、更刻薄的语言。只是一个意见。

检查一些选项是否仍在等待有效答案-到目前为止,只建议使用JSLint fork和其他语言。(值得一提的是,Rhino JS对linting语法也很有用,但对样式却没有用处。)检查一些选项是否仍在等待有效答案-到目前为止,只建议使用JSLint fork和其他语言。(对于它的价值来说,Rhino JS对于LITEN语法也是有用的,但不是风格。)JSHITN是基于JSLLT的,因此具有完全相同的不兼容的软件许可。@ Jevon:根据它看来,CROROFED给了Eclipse基金会一个原始的MIT许可证,JSLIN是基于JSLIN共享的,因此具有完全相同的不兼容的软件许可。@ Jevon:根据它看来,CROROFROD给了Eclipse基金会一个原始的MIT许可证,然后与JSHITN共享。JSITT本身可能在标准MIT下,但是,除非JSHint完全删除了对JSLint的任何依赖或重用,或者Crockford授予了JSLint豁免,否则它仍然受JSLint的“不做坏事”条款的约束。它仍然被标记为“JSLint的分支”。JSHint本身可能在标准MIT之下,但除非JSHint完全删除了对JSLint的任何依赖或重用,或者Crockford授予了JSLint豁免,否则它仍然受JSLint的“不作恶”条款的约束。当然,我们可以使用任何编译到Javascript的技术(如Coffeescript等)来提高生产率,但这个问题是专门针对Javascript过滤/测试的。(一个问题是,它们总是缺乏与现有工具或调试框架的集成;另一个问题是,您假设自己是从头开始编写代码,而不是修改现有的应用程序Javascript。)当然,可以使用任何编译到Javascript的技术(如Coffeescript等)来提高生产率,但是这个问题是专门针对Javascript linting/测试的。(一个问题是它们总是缺乏与现有工具或调试框架的集成;另一个问题是您假设自己是从头开始编写代码,而不是修改现有的应用程序Javascript。)