如何在.jshintrc中禁用jshint的'fall through'检查程序?

时间:2015-03-18 05:56:19

标签: javascript jshint

我想在mt .jshintrc文件中禁用jshint的'fall through'检查程序。 但是,默认情况下似乎启用了检查程序。

http://jshint.com/docs/#options

默认情况下当你在switch语句中省略break或return语句时,JSHint会发出警告:

switch (cond) {
case "one":
  doSomething(); // JSHint will warn about missing 'break' here.
case "two":
  doSomethingElse();
}

我无法从官方网站上找到检查者ID,因此我无法更新.jshintrc文件。

你可以让我知道如何禁用'跌穿'检查器 我可以在那里找到jshint提供的完整检查列表。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您正在寻找找到的密钥here

具体做法是:

"-W086": true, //allow fall-through

答案 1 :(得分:1)

我很确定SomeKittens的答案应该有效,但我想提出另一种观点,因为我在查找W086的规则时被谷歌带到了这里。

jshint有一些非常好的理由可以使用此默认行为。首先,大多数在查找导致错误的代码时会看到这样的代码的开发人员可能会抓住它并花一些时间来尝试确定是否有意识地通过(毕竟,它是&#39) ; sa 非常常见的错误),偶尔甚至可以修复"修复"先发制人。

因此,我建议保留此默认行为,并特别使用提供的内联覆盖机制覆盖它,以确保其他开发人员意识到您实际上是想要实现这一目标。

就我个人而言,即使您不知道jshint规则编号,我甚至可以添加评论,所以毫无疑问,

// Fall-through required in switch statement.
/* jshint -W086 */
switch(...) { ... }
/* jshint +W086 */

或者,您可以在故意堕落时添加/* falls through */,因为jshint也会识别这一点(允许您安全地混合堕落和休息而不会产生歧义) :

switch(...) {
    case ...:
        ...
        /* falls through */
    case ...:
        ...
        break;
    case ...:
        ...
        /* falls through */
    default:
}