Answers:
在您的示例中,您可以将字符串分成两部分:
alert ( "Please Select file"
+ " to delete");
或者,当是字符串(如您的情况)时,您可以按照@Gumbo的建议使用反斜杠:
alert ( "Please Select file\
to delete");
请注意,这种反斜杠方法不一定是首选方法,并且可能不受普遍支持(我很难找到关于此的硬数据)。这是不是在ECMA 5.1规范。
当使用其他代码(不在引号中)时,换行符将被忽略,并且完全可以接受。例如:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
将反斜杠放在行尾:
alert("Please Select file\
to delete");
编辑 我必须注意,这不是ECMAScript字符串的一部分,因为根本不允许使用行终止符:
“ LineTerminator ”字符不能出现在字符串文字中,即使前面加上反斜杠也是如此
\
。使行终止符成为字符串文字的字符串值一部分的正确方法是使用转义序列,例如\n
或\u000A
。
因此,使用字符串串联是更好的选择。
2015年1月5日更新ECMAScript5中的字符串文字允许使用上述语法:
行终止符不能出现在字符串文字中,除非作为LineContinuation的一部分来产生空字符序列。使行终止符成为字符串文字的String值的一部分的正确方法是使用转义序列,例如
\n
或\u000A
。
\n
or \u000A
。 ”
\r\n
而不是\n
?结尾的行
ECMAScript 6引入了模板字符串:
模板字符串是允许嵌入表达式的字符串文字。您可以使用多行字符串和字符串插值功能。
例如,
alert(`Please Select file
to delete`);
会提醒
Please Select file
to delete
`
钥匙。由于它是修饰符,因此不能直接编写。这可能就是为什么您认为应该按两次,但这会写出两个。按空格键只写一个。
将琴弦分成两部分
alert ("Please select file " +
"to delete");
有趣的是。尝试过:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
这行得通。但是,偶然!,最后一个反斜杠后面有一个空格字符(所有其他反斜杠都位于行的末尾)。这会导致JavaScript错误!但是,删除此空间可修复错误。
这在使用Cordova的Android ADT中。
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
你可以用
1: alert("Please select file" +
2: " to delete");
那应该工作
您可以将长字符串常量分解为逻辑块,然后将它们分配给数组。然后join
使用一个空字符串作为定界符。
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
输出将是:
- 这是第一部分.... 2。这是第二部分。....3。在这里结束。
这种方法对性能的影响很小,但是您获得了代码的可读性和可维护性。
无需任何手动中断代码。只需在要中断的位置添加\ n即可。
alert ("Please Select file \n to delete");
这将显示警报
Please select file
to delete.