当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在JavaScript中的多行代码中断字符串?》经验,为你挑选了4个好方法。



1> Michael Hare..:

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

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

或者,当它是一个字符串时,就像你的情况一样,你可以使用@Gumbo建议的反斜杠:

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

请注意,这种反斜杠方法不一定是首选方法,并且可能不受普遍支持(我无法在此找到硬数据).它符合ECMA 5.1规范.

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

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


但要注意自动分号插入机制:尝试返回一行,并在函数末尾的下一行返回"字符串",结果未定义.
好吧......如果你要问一堆尚未提出的新问题,你必须给我们一个回答它们的机会.我用一个令人不满意的猜想更新了我的答案.
小心反斜杠.它会吃掉所有的空白,直到找到一片空白.因此该示例将"警告":请选择要删除的文件.如果你想要文件和之间的空格,你应该把它放在de反斜杠之前.

2> Gumbo..:

将反斜杠放在行尾:

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

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

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

因此使用字符串连接是更好的选择.


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

除了作为生成空字符序列的LineContinuation的一部分之外,行终止符字符不能出现在字符串文字中.使行终止符字符成为字符串文字的String值的一部分的正确方法是使用转义序列,如\n\u000A.



3> Oriol..:

ECMAScript 6引入了模板字符串:

模板字符串是允许嵌入表达式的字符串文字.您可以使用多行字符串和字符串插值功能.

例如,

alert(`Please Select file   
to delete`);

会警觉

Please Select file   
to delete



4> Jason Punyon..:

将字符串分成两部分 

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


但是不要忘记在第一块或第二块的开头有一个空格;)
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有