在以下脚本[脚本]中,
document.write(
'<div class="user-info-wrap">
<div class="user-info-left">'
我的文本编辑器停止对第三行着色,就好像它不包含在单引号中一样。文本编辑器换行符结束(javascript字符串)引用内容吗?
如果是这样,那就意味着我需要做以下操作,在我看来,似乎没有意义,所以文本编辑器的着色原理图可能是错误的。
document.write(
'<div class="user-info-wrap">' +
'<div class="user-info-left">'
这是什么?
答案 0 :(得分:3)
您可以执行以下两种方法之一:
<强>级联:强>
var multiStr = "This is the first line " +
"This is the second line " +
"This is more...";
<强>逃逸:强>
var multiStr = "This is the first line \
This is the second line \
This is more...";
两个输出:
这是第一行这是第二行这是更多......
注意:使用转义方法,不会忽略连续行上的前导空格。
var multiStr = "This is the first line \
This is the second line \
This is more...";
这将输出:
这是第一行这是第二行这是更多......
回答您的问题:
并非所有文本编辑器都支持JavaScript多行字符串突出显示。 Notepad ++可以很好地处理它,而VI / VIM不会将整个字符串显示为红色。 VI / VIM只知道如何在放置开头报价的同一行上突出显示字符串。如果你注意到,VI / VIM认为你创建了一个新的String(在最后一行),第一个字符是分号。事实并非如此,这只是编辑突出显示的一个缺陷。
答案 1 :(得分:0)
Javascript不允许没有转义的多行字符串。所以,这不起作用:
var foo = "bar
bar";
您可以将整个字符串放在一行,例如:
var foo = "bar\nbar"; // includes the line break
或者您可以使用\
转义换行符,如下所示:
var foo = "bar\
bar";
在后一个例子中,foo
是barbar
(没有换行符)。您可以手动添加空格或换行符,如下所示:
var foo = "bar \
bar";
var foo = "bar\n\
bar";
请注意,\
之后的行上的任何前导空格都不会被忽略,因此:
var foo = "bar\
bar";
给出foo
值
bar bar
当然,你总是可以连接字符串的一部分,如下所示:
var foo = "bar"
+"bar";