59

JavaScriptでの行継続のベストプラクティスは何ですか?文字列に使えることは知っています\。しかし、次のコードをどのように分割しますか?

var statement = con.createStatement("select * from t where
(t.a1 = 0 and t.a2 >=-1)
order by a3 desc limit 1");
4

4 に答える 4

74

私があなたの質問を正しく理解した場合:

var statement = con.createStatement('select * from t where '
                                  + '(t.a1 = 0 and t.a2 >=-1) '
                                  + 'order by a3 desc limit 1');

+読みやすくするために、各行で演算子を揃えることは問題ありません。とにかく、 Ecmascript 2015を使用している場合を除き、複数行の文字列をで分割することは避けてください。\理由は次のとおりです。

  1. 標準のJavaScriptではありません
  2. その文字の後の空白は、解析エラーを生成する可能性があります
于 2012-05-09T11:14:07.807 に答える
26

次のように、JavaScript の行継続にバックスラッシュを使用するのが好きです。

    // validation
    $(".adjustment, .info input, .includesAndTiming input, \
        .independentAdj, .generalAdj, .executiveAdj \
        #officeExpense, #longDistanceExpense, #digitalImages, #milesReimbursment, #driveTime, #statementTranscription").keypress(function (event) {
于 2013-07-01T20:30:36.740 に答える
9

私の個人的な好みはあなたの最初の回答と似ていますが、私の目には読みやすさの方が簡単です。

var statement = con.createStatement
   (
   'select * from t where ' +
   '(t.a1 = 0 and t.a2 >=-1) ' +
   'order by a3 desc limit 1'
   );

これは、私が 20 年近く使用してきた SQL 構文形式と非常によく似ています。

SELECT *
FROM t
WHERE 
   t.a1 = 0 AND
   t.a2 >=-1
ORDER BY a3 DESC
LIMIT 1

継続+を (JavaScript またはANDSQL で) 右端に保持すると、左辺値と構文をチェックしながら、左端を均等に下にスライドさせることができます。左側の続きを行うのは少し難しいですが、このようなことをたくさんしない限り重要ではありません。その時点で、消費するすべてのカロリーは、フォーマットのわずかな改善によって節約された可能性のあるカロリーです.

このクエリは非常に単純であるため、すべてを SQL 形式に分割するとスペースと帯域幅が無駄になります。そのため、推奨される JavaScript は 10 行ではなく 6 行になります。カーリーを 1 行ずつ折りたたむと 4 行になり、空白が節約されます。ただし、それほど明確ではなく、編集も簡単ではありません。

于 2014-05-26T00:35:27.943 に答える
1

「+」は文字列の連結用で、ほとんどの例は文字列を扱っています。複合 "if" ステートメントなど、複数の行にまたがる必要があるコマンドがある場合はどうすればよいでしょうか? 継続する各行の終わりにはバックスラッシュが必要です。これにより、見えない次の行の文字がエスケープされ、mid ステートメントでコマンドが区切られなくなります。

于 2014-03-27T19:03:23.220 に答える