JavaScript中续行的最佳实践是什么?我知道你可以使用\
字符串。但是您将如何拆分以下代码?
var statement = con.createStatement("select * from t where
(t.a1 = 0 and t.a2 >=-1)
order by a3 desc limit 1");
JavaScript中续行的最佳实践是什么?我知道你可以使用\
字符串。但是您将如何拆分以下代码?
var statement = con.createStatement("select * from t where
(t.a1 = 0 and t.a2 >=-1)
order by a3 desc limit 1");
如果我正确理解了您的问题:
var statement = con.createStatement('select * from t where '
+ '(t.a1 = 0 and t.a2 >=-1) '
+ 'order by a3 desc limit 1');
为了可读性,可以在每一行上对齐+
运算符:无论如何,除非您使用 Ecmascript 2015,否则请避免使用 拆分多行字符串\
,因为:
我喜欢使用反斜杠来延续 JavaScript 行,如下所示:
// validation
$(".adjustment, .info input, .includesAndTiming input, \
.independentAdj, .generalAdj, .executiveAdj \
#officeExpense, #longDistanceExpense, #digitalImages, #milesReimbursment, #driveTime, #statementTranscription").keypress(function (event) {
我个人的偏好与您在那里的第一反应相似,但在我看来,它的可读性更容易:
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 是六行而不是十行的原因。将卷曲向上折叠一行,使其变为四行,从而节省空格。但是,不是那么清晰或编辑起来那么简单。
“+”用于连接字符串,大多数示例都是处理字符串。如果您有一个需要跨多行字符串的命令,例如复合“if”语句,该怎么办?您需要在要继续的每一行末尾添加一个反斜杠。这会转义不可见的下一行字符,以便它不会在 mid 语句中分隔命令。