2009-02-03 108 views

回答

219

在你的榜样,你可以打破字符串为两个部分:

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

或者,当它是一个字符串,如你的情况,你可以使用backslash为@Gumbo建议:

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

注意,这反斜杠方法是not necessarily preferred,并可能不是普遍支持(我无法在此找到硬数据)。在ECMA 5.1 spec中是而不是

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

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

您可将if语句? – 2009-02-03 18:29:17

+1

是的:我用一个例子更新了答案。 – 2009-02-03 18:47:14

+15

但是要小心自动分号插入机制:尝试在函数的最后一行返回一行,并在下一行返回一个“字符串”,并因此得到未定义的结果。 – some 2009-02-03 21:30:53

37

把反斜线在该行的末尾:

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

编辑我必须指出,这是不是ECMAScript stringsline terminating characters部分一律允许:

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

所以使用字符串连接是更好的选择。


更新2015年1月5日String literals in ECMAScript5允许提到的语法:

甲行终止字符不能出现在一个字符串,除非是作为LineContinuation的一部分,以产生空字符序列。导致行结束符字符作为字符串文本的字符串值的一部分的正确方法是使用转义序列,如\n\u000A

1

你可以使用

1: alert("Please select file" + 
2:  " to delete"); 

这应该工作

5

字符串分解成两件 

alert ("Please select file " + 
     "to delete"); 
-4

无需在代码中任何手动突破。 只需添加\ n您想要中断的位置。

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

这将显示而有趣的警告一样

Please select file 
to delete. 
3

。试过:

alert("Some \ 
    string \ 
    wrapped \ 
    across \ 
    mutliples lines.") 

这工作。但是,在发生意外时,在最后一个反斜杠后面有一个空格字符(所有其他反斜杠都在该行的末尾)。这导致了JavaScript中的错误!虽然删除这个空间解决了这个错误。

这是在Android的ADT中使用Cordova。

-2

我尝试了一些上述建议,但在Chrome代码检查器中收到了ILLEGAL字符警告。以下为我工作(仅适用于Chrome测试虽然!)

alert('stuff on line 1\\nstuff on line 2); 

出来一样......

stuff on line 1 
stuff on line 2 

注意双反斜线!! ...这似乎是很重要的!

21

的ECMAScript 6引入template strings

模板串是字符串常量允许嵌入式表达式。 您可以使用多行字符串和字符串插值功能以及 。

例如,

alert(`Please Select file 
to delete`); 

会提醒

Please Select file 
to delete