我的双引号中有一个长字符串
var Variable = "Really Long ...... String"
我想要这样做
var Variable = "Really
Long
......
String"
目前我这样做
var Variable = "Really\n\
Long\n\
......\n\
String"
它适用于所有浏览器。但这是正确的方法吗?
答案 0 :(得分:4)
我认为使用加号可能更有效。
var Variable = "Really " +
"Long " +
"...... " +
"String";
在上面的示例中,您如何知道“Long”这个词之前有多少个空格?我不相信它会在浏览器中保持一致。
我的理解是使用加号来连接字符串同样有效... javascript解析器足够聪明,可以像处理示例一样处理它。
答案 1 :(得分:1)
我建议加入它。
var str = [
'This is a very long piece ',
'of string that I\'m going to join together ',
'right about now.'
].join('')
答案 2 :(得分:0)
您可以使用数组并加入值。但我不确定性能。如果你使用字符串连接,它可以(并且很可能会)由引擎优化(意味着它在解析代码时生成一个字符串),但引擎是否如此聪明以发现一个简单的连接数组....我不这么认为。
var Variable = ["Really ",
"Long ",
"...... ",
"String"].join('');
答案 3 :(得分:0)
JavaScript不像PHP那样支持“here documents”,所以你不能做得更好。你会在行的开头有很多空格(如果你按照你在这里展示它的方式缩进代码)。为避免这种情况,请使用字符串连接:
var Variable = "Really\n" +
"Long\n" +
"String";
或阵列加入(由meder建议):
var Variable = [
"Really",
"Long",
"String"
].join('\n');
答案 4 :(得分:0)
LineContinuation是ECMA-262第5版(§7.8.4)中的新功能。如果您绝对必须遵守ECMAScript 3,请避免使用它,并使用+
或.join('')
或其他。但正如您所提到的,主要浏览器(甚至IE 6) [1] 支持这一特定功能,除了编码约定外,我认为没有其他理由可以避免这种情况。
(参考:[1] http://shwup.blogspot.com/2009/05/line-continuation-in-javascript.html)