7

'usestrict'と仮定してください。また、JSLintがオンであり、エラーを無視できないと仮定します。

演算子と「、」で開始されたリストがはるかに読みやすくなっています。

例えば:

var i = 0
    , j = 1
    , someLongVariablename1
    , someLongVariablename2
    , someLongVariablename3
    , someLongVariablename4;

 if( (
     'dcr' === cmd
      && (action)
      && ('get' === actionHttp || 'post' === actionHttp )
      && whatever
   ) { ... }

したがって、私の質問:
「BadLine Breaking」は「usestrict」で廃止されていますか?

編集済み:'厳密に使用'; コードを壊す悪い行の実行を防ぐことはできません。ある種のエラーの実行を防ぐことができます。

JSLintとJSHintは、不良な改行を異なる方法で処理していることがわかります。JSHintは、私が好む構文に対してはるかに友好的です。

だから、これに取り組んでいる他の人のための解決策かもしれません。

4

1 に答える 1

5

残念ながら、厳密モードではセミコロンの自動挿入であるホラーは無効になりません。そのため、「悪い」改行は問題のままです。例えば:

(function() {
  "use strict";

  console.log(foo());

  function foo() {
    var a = 1, b = 2;

    return
    a + b;
  }
})();

実例| ソース(コンソールを開いて確認する必要があります)

ASIが起動し、inの後にセミコロンを追加するため、それでも、undefinedではなくログに記録されます。3returnfoo

于 2013-02-18T09:03:05.743 に答える