7

このスニペットの JSLint 検証

1: function foo() {}
2: 
3: foo(1
4: );
5: 
6: foo(
7: );

このエラーが発生します:

エラー:

行 3 文字 5 の問題: 改行エラー ')'。

フー(1

これは JSLint のバグですか?

4

1 に答える 1

13

バグではありません。JSLint は構文チェック以上のことを行います。特定のコーディング規則を適用します。「ずさんな改行を許容する」オプションをオンにして再検証すると、エラーは発生しません。

JSLint ドキュメントから:

改行

セミコロン挿入メカニズムに対するさらなる防御として、JSLint は、次の句読点文字または演算子のいずれかの後にのみ、長いステートメントが分割されることを想定しています。

、 。; : { } ( [ = < > ? ! + - * / % ~ ^ | & == != <= >= += -= *= /= %= ^= |= &= << >> || && === !== <<= >>= >>> >>>=

JSLint は、識別子、文字列、数値、closer、または接尾辞演算子の後で長いステートメントが壊れていることを想定していません。

) ] ++ --

JSLint を使用すると、ずさんな改行を許容する (laxbreak) オプションをオンにすることができます。

セミコロンを挿入すると、コピー/貼り付けエラーを隠すことができます。常に演算子の後で改行する場合、JSLint はそれらをより適切に見つけることができます。

于 2009-02-18T23:14:11.420 に答える