我目前正在根据JSLint验证我的JavaScript,并在这方面取得了进展,它帮助我编写更好的JavaScript——尤其是在使用Jquery库时.

我现在遇到了JSHint,JSLint的Forking .
因此,我想知道对于Web应用程序,它们在很大程度上是由JavaScript驱动的,哪一个是更好或最适用的验证工具:

  • JSLint还是JSHint?

我想现在就决定一种验证机制,接下来,用它进行客户端验证.

jshint和jslint之间的区别是什么?请用一个javascript示例进行解释.

链接:

  1. jshint-http://www.jshint.com/

  2. jslint-http://jslint.com/

推荐答案

[EDIT]

最初提出这个问题时,JSLint是JavaScript的主要linting工具.JSHint是JSLint的新分支,但尚未与原始版本有太大差异.

从那时起,JSLint基本上保持了静态,而JSHint则发生了很大变化——它抛弃了许多JSLint更具对抗性的规则,添加了大量新规则,并且总体上变得更加灵活.此外,另一个工具ESLint现在可用,它更灵活,有更多的规则选项.

在我最初的回答中,我说你不应该强迫自己遵守JSLint的规则;只要你明白它为什么会抛出警告,你就可以自己判断是否要修改代码来解决警告.

对于2011年发布的JSLint的超严格规则集,这是一个合理的建议——我看到很少有JavaScript代码集能够通过JSLint测试.然而,现在的JSHint和ESLint工具中提供了更实用的规则,因此try 让代码在零警告的情况下通过它们是一个更现实的建议.

有时,Linter会抱怨您故意做的事情--例如,您知道应该始终使用===,但只有这一次您有很好的理由使用==.但是,即使这样,使用ESLint,您也可以 Select 在有问题的行周围指定eslint-disable%,这样您仍然可以在没有警告的情况下通过皮棉测试,并且您的代码的睡觉遵守规则.(只是不要太频繁地做这种事!)


[ORIGINAL ANSWER FOLLOWS]

By all means use JSLint. But don't get hung up on the results and on fixing everything that it warns about. It will help you improve your code, and it will help you find potential bugs, but not everything that JSLint complains about turns out to be a real problem, so don't feel like you have to complete the process with zero warnings.

几乎任何长度或复杂度很高的Javascript代码都会在JSLint中产生警告,无论它写得有多好.如果你不相信我,试着运行一些流行的库,比如JQuery.

一些JSLint警告比其他警告更有价值:了解哪些需要注意,哪些不重要.应该考虑每一个警告,但是不要觉得必须修复您的代码来清除任何给定的警告;查看代码并确定您对它很满意是完全可以的;有时JSlint不喜欢的事情实际上是应该做的.

Javascript相关问答推荐

如何在非独立组件中使用独立组件?

reaction如何在不使用符号的情况下允许多行返回?

如何使用React渲染器放置根dis?

按钮未放置在html dis位置

处理时间和字符串时MySQL表中显示的日期无效

我可以使用空手道用户界面来获取网页的当前滚动位置吗?

如何在文本字段中输入变量?

如何将多维数组插入到另一个多维数组中?

不能将空字符串传递给cy.containes()

本地库中的chartjs-4.4.2和chartjs-plugin-注解

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

在开发期间,Web浏览器如何运行&qot;.jsx&qot;文件?

将数组扩展到对象中

触发异步函数后不能显示数据

图表4-堆叠线和条形图之间的填充区域

无法设置RazorPay订阅API项目价格

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

为什么我看到的是回复,而不是我的文档?

如何使用Cypress在IFRAME中打字

Firefox的绝对定位没有达到预期效果