JavaScript中的行继续符

时间:2012-05-09 11:08:30

标签: javascript

JavaScript 中续行的最佳做法是什么?我知道您可以使用\表示字符串。但是你如何分割以下代码呢?

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

4 个答案:

答案 0 :(得分:55)

如果我理解你的问题:

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

为了便于阅读,可以在每一行上对齐+运算符: 无论如何,unless you're using Ecmascript 2015,避免使用\拆分多行字符串,因为:

  1. 这不是标准的JavaScript
  2. 该字符后面的空格可能会生成解析错误

答案 1 :(得分:23)

我喜欢使用反斜杠进行JavaScript行继续,如下所示:

    // validation
    $(".adjustment, .info input, .includesAndTiming input, \
        .independentAdj, .generalAdj, .executiveAdj \
        #officeExpense, #longDistanceExpense, #digitalImages, #milesReimbursment, #driveTime, #statementTranscription").keypress(function (event) {

答案 2 :(得分:5)

我个人的偏好与你在那里的第一个回应类似,但对我来说,它的可读性更容易:

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中的+或SQL中的AND)允许眼睛沿左边缘均匀滑动,检查左值和下限。句法。左边的延续稍微有些困难 - 除非你做了很多这样的事情,否则不是很重要,此时你花的每卡路里都可以通过略微改善格式来节省卡路里。

由于此查询非常简单,因此将其全部分解为SQL格式会浪费空间和带宽,这就是建议的JavaScript在六行而不是十行上的原因。将曲线向上折叠一行,每条曲线将四条线折叠起来,从而节省空白。但是,编辑不太清楚或简单。

答案 3 :(得分:1)

“+”用于串联字符串,大多数示例都处理字符串。如果你有一个命令需要串行多行,比如复合“if”语句怎么办?您需要在每行的末尾加上反斜杠才能继续。这会转义不可见的下一行字符,以便它不会在mid语句中分隔命令。