如何在JavaScript中的多行代码中分割string?

在JavaScript中是否有一个字符分解了一行代码,以至于尽pipe在新的行中,它仍被视为连续的?

就像是….

 1.警报(“请select文件   
 2. \删除“);

在你的例子中,你可以把string分成两部分:

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

或者,当它是一个string,就像你的情况一样,你可以使用@Gumbobuild议的反斜线 :

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

请注意,这种反斜杠方法不一定是首选 ,也可能不是普遍支持(我无法find关于此的硬数据)。 它不在 ECMA 5.1规范中 。

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

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

将反斜杠放在行尾:

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

编辑我必须注意,这不是 ECMAScriptstring的一部分,因为行终止字符是不允许的:

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

所以使用string连接是更好的select。


更新2015-01-05 ECMAScript5中的string文字允许提到的语法:

行结束符不能出现在string文字中,除非作为生成空字符序列的LineContinuation的一部分。 使行结束符字符成为string文本的string值的一部分的正确方法是使用转义序列,如\n\u000A

ECMAScript 6引入了模板string :

模板string是允许embeddedexpression式的string文字。 您可以使用多行string和string插值function。

例如,

 alert(`Please Select file to delete`); 

会警惕

 Please Select file to delete 

把string分成两部分

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

有趣的是要注意。 尝试:

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

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

这是使用Cordova的Android版ADT。

你可以使用

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

这应该工作

我尝试了一些上述build议,但在Chrome代码检查器中收到了ILLEGAL字符警告。 以下为我工作(只在Chrome中testing!)

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

出来像…

 stuff on line 1 stuff on line 2 

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

代码中不需要任何手动中断。 只要添加\ n你想要打破的地方。

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

这会显示警告

 Please select file to delete.