JavaScript 中续行的最佳做法是什么?我知道您可以使用\
表示字符串。但是你如何分割以下代码呢?
var statement = con.createStatement("select * from t where
(t.a1 = 0 and t.a2 >=-1)
order by a3 desc limit 1");
答案 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 :(得分: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语句中分隔命令。