文本编辑器换行符是否在javascript中结束字符串内容?
在以下脚本[脚本片段]中文本编辑器换行符是否在javascript中结束字符串内容?,javascript,text-editor,line-breaks,Javascript,Text Editor,Line Breaks,在以下脚本[脚本片段]中 document.write( '<div class="user-info-wrap"> <div class="user-info-left">' document.write( ' ' 我的文本编辑器停止对第三行着色,就好像它不包含在单引号中一样。文本编辑器换行符是否结束(javascript字符串)引号内容 如果是这样的话,这就意味着我需要做下面的事情,在我看来,这似乎没有意义,所以可能是文本编辑器的着色示意图出错了
document.write(
'<div class="user-info-wrap">
<div class="user-info-left">'
document.write(
'
'
我的文本编辑器停止对第三行着色,就好像它不包含在单引号中一样。文本编辑器换行符是否结束(javascript字符串)引号内容
如果是这样的话,这就意味着我需要做下面的事情,在我看来,这似乎没有意义,所以可能是文本编辑器的着色示意图出错了
document.write(
'<div class="user-info-wrap">' +
'<div class="user-info-left">'
document.write(
'' +
''
它是哪一个?更新 随着ECMAScript版本6(ES6)现在成为所有主流浏览器的标准,您不再需要执行转义技巧。这只是ES5的一个“技巧”。向前看,您只需将字符串包装在两个回标记内即可
var multiStr=`这是第一行
这是第二行
这更…`;
2014年左右的原始答复 您可以执行以下两种操作之一: 连接:
var multiStr=“这是第一行”+
“这是第二行”+
“这更……”;
转义:
var multiStr=“这是第一行\
这是第二行\
这是更多的……”;
两种输出:
这是第一行这是第二行这更
注意:使用转义方法时,不会忽略连续行上的前导空格
var multiStr = "This is the first line \
This is the second line \
This is more...";
这将输出:
这是第一行这是第二行这更
回答你的问题: 并非所有文本编辑器都支持JavaScript多行字符串高亮显示。Notepad++处理得相当好,而VI/VIM不会以红色显示整个字符串。VI/VIM只知道如何高亮显示与开头引号所在行相同的字符串。如果您注意到,VI/VIM认为您创建了一个新字符串(在最后一行)第一个字符是分号。这不是真的,这只是编辑器突出显示的一个缺陷
更新 随着ECMAScript版本6(ES6)现在成为所有主流浏览器的标准,您不再需要执行转义技巧。这只是ES5的一个“技巧”。向前看,您只需将字符串包装在两个回标记内即可
var multiStr=`这是第一行
这是第二行
这更…`;
2014年左右的原始答复 您可以执行以下两种操作之一: 连接:
var multiStr=“这是第一行”+
“这是第二行”+
“这更……”;
转义:
var multiStr=“这是第一行\
这是第二行\
这是更多的……”;
两种输出:
这是第一行这是第二行这更
注意:使用转义方法时,不会忽略连续行上的前导空格
var multiStr = "This is the first line \
This is the second line \
This is more...";
这将输出:
这是第一行这是第二行这更
回答你的问题: 并非所有文本编辑器都支持JavaScript多行字符串高亮显示。Notepad++处理得相当好,而VI/VIM不会以红色显示整个字符串。VI/VIM只知道如何高亮显示与开头引号所在行相同的字符串。如果您注意到,VI/VIM认为您创建了一个新字符串(在最后一行)第一个字符是分号。这不是真的,这只是编辑器突出显示的一个缺陷
Javascript不允许不转义的多行字符串。因此,这不起作用:
var foo = "bar
bar";
可以将整个字符串放在一行上,如:
var foo = "bar\nbar"; // includes the line break
或者您可以使用\
来避免换行,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
在后一个示例中,foo
是barbar
(无换行符)。您可以手动添加空格或换行符,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
请注意,\
之后的行中的任何前导空格都不会被忽略,因此:
var foo = "bar\
bar";
给出foo
值
bar bar
当然,您可以将字符串的各个部分连接起来,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
Javascript不允许不转义的多行字符串。因此,这不起作用:
var foo = "bar
bar";
可以将整个字符串放在一行上,如:
var foo = "bar\nbar"; // includes the line break
或者您可以使用\
来避免换行,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
在后一个示例中,foo
是barbar
(无换行符)。您可以手动添加空格或换行符,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
请注意,\
之后的行中的任何前导空格都不会被忽略,因此:
var foo = "bar\
bar";
给出foo
值
bar bar
当然,您可以将字符串的各个部分连接起来,如下所示:
var foo = "bar\
bar";
var foo = "bar \
bar";
var foo = "bar\n\
bar";
var foo = "bar"
+"bar";
是PHP连接…哦,d*mnit哈哈,我现在正在使用这两种语言。编辑它到+sunlike PHP,单引号和双引号在JS中的作用完全相同。如果您想要多行字符串而不转义或连接,可以使用多行(css样式)注释。
是PHP连接…噢,d*mnit哈哈,我现在正在使用这两种语言。将其编辑为+sunlike PHP,单引号和双引号在JS中的作用完全相同。如果您想要多行字符串而不转义或连接,可以使用多行(css样式)comments.VIM没有在那里显示字符串的终止。最后一个“
显示为另一个字符串,请注意分号也是红色的。很抱歉,我很少在JavaScript中使用VI。我只是把它作为一个示例,不完全理解它如何处理JS。VIM没有在那里显示字符串的终止。最后一个”
显示为另一个字符串,请注意分号也是红色的。很抱歉,我很少在JavaScript中使用VI。我只是把它作为一个示例,不完全理解它如何处理JS。