如何在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.