如何在JavaScript中的多行代码中中断字符串?

2022-08-30 00:43:34

JavaScript中是否有一个字符可以分解一行代码,以便尽管它位于新行上,但它仍被读取为连续的?

像....

1. alert ( "Please Select file   
2. \ to delete" );

答案 1

在您的示例中,您可以将字符串分成两部分:

alert ( "Please Select file"
 + " to delete");

或者,当它是一个字符串时,如您所例所示,您可以按照@Gumbo建议使用反斜杠

alert ( "Please Select file\
 to delete");

请注意,这种反斜杠方法不一定是首选,并且可能不受普遍支持(我很难找到这方面的硬数据)。它不在 ECMA 5.1 规范中。

使用其他代码(不在引号中)时,换行符将被忽略,并且完全可以接受。例如:

if(SuperLongConditionWhyIsThisSoLong
  && SuperLongConditionOnAnotherLine
  && SuperLongConditionOnThirdLineSheesh)
{
    // launch_missiles();
}

答案 2

将反斜杠放在行的末尾:

alert("Please Select file\
 to delete");

编辑我必须注意,这不是 ECMAScript 字符串的一部分,因为根本不允许使用行终止字符

LineTerminator”字符不能出现在字符串文本中,即使前面有反斜杠 。使行终止符字符成为字符串文本的字符串值的一部分的正确方法是使用转义序列,如 或 。\\n\u000A

因此,使用字符串串联是更好的选择。


更新 2015-01-05 ECMAScript5 中的字符串文本允许上述语法:

行终止符字符不能出现在字符串文本中,除非作为行连续的一部分来生成空字符序列。使行终止符字符成为字符串文本的 String 值的一部分的正确方法是使用转义序列,如 或 。\n\u000A