javascript添加回车符返回到字符串以提高可读性

javascript添加回车符返回到字符串以提高可读性,javascript,string,Javascript,String,我想知道这是否可能,如果可能的话,我有一个长字符串,出于可维护性和可读性的目的,我想在代码中添加换行符,如下所示: slices += '<div class="'+settings.sliceClass+'" style=" width:' + slicewidth + 'px; height:' + sliceheight + 'px; left:' + left + '

我想知道这是否可能,如果可能的话,我有一个长字符串,出于可维护性和可读性的目的,我想在代码中添加换行符,如下所示:

slices += 
    '<div 
        class="'+settings.sliceClass+'"
        style="
            width:' + slicewidth + 'px;
            height:' + sliceheight + 'px;
            left:' + left + 'px;
            top:' + top + 'px;
    "><img src="'+slide.properties.src+'"
        style="
            position: relative;
            left:' + -left + 'px;
            top:' + -top + 'px;
            width:' + Math.round(slide.properties.image.width * slide.properties.scale.width) + 'px;
            height:' + Math.round(slide.properties.image.height * slide.properties.scale.height) + 'px;
    ">
    </img></div>'
);
slices+=
'
'
);
我不希望这些新行出现在HTML输出中

但是,这将返回一个
语法错误:意外的EOF


还有其他方法吗?

在打断每一行之前,只需添加一个反斜杠:

var str = "sfdsadadadas\
           asdasdasdasdasd\
           sdfsdfsfsd";
请记住,每个反斜杠和下一行的(缩进)内容之间的空格将成为字符串的一部分。这在HTML输出上应该不会有问题,除非您使用的是预格式化文本(如
标记中的内容)。

修改的代码:

slices +=       '<div'+
            'class="'+settings.sliceClass+'"'+
            .....
 var temp = [
            '<div',
             'class="'+settings.sliceClass+'"',
            ...

           '</img></div>'
  ];
slices  += temp.join("");

切片+='我认为问题是由于使用了
'
(单引号)并在其中包含了
(双引号)。因此我会尝试避开您的引号,如下所示:

SingleStringCharacter ::
    SourceCharacter but not single-quote or backslash or LineTerminator
  | \ EscapeSequence
  | LineContinuation
var component=“”+
“此处的示例内容”+动态值+”

”+ "";
p、 注意
+
操作符的使用,它非常有用,可以保证数据
在下一行中保持不变,否则可能会有回车符或空格。

否,字符串不能包含未换行的换行符,只能包含换行符,这意味着您可以在输出字符串中获得缩进空格。规范的有效部分是:

“但不是。。。“或LineTerminator”部分表示字符串不能包含换行符,但“| LineContinuation”表示\可以。读取LineContinuation的字符串值表明,它不会对整个带引号字符串的字符串值产生影响,也不会占用任何前导空格

你能行

  slices += 
      '<div' +
          'class="'+settings.sliceClass+'"' +
          'style="' +
              'width:' + slicewidth + 'px;' +
              'height:' + sliceheight + 'px;' +
              'left:' + left + 'px;' +
              'top:' + top + 'px;' +
      '">' +
        '<img src="'+slide.properties.src+'"' +
          'style="' +
            'position: relative;' +
              'left:' + -left + 'px;' +
              'top:' + -top + 'px;' +
              'width:' + Math.round(slide.properties.image.width * slide.properties.scale.width) + 'px;' +
              'height:' + Math.round(slide.properties.image.height * slide.properties.scale.height) + 'px;' +
        '" />' +
      '</div>';
slices+=
['
slices+=
'' +
'' +
'';

谢谢。很高兴看到规范的相关部分,而不是仅仅听别人的话。@GeorgeReith,不客气。仅供参考,该语言的下一个版本ES。下一个版本将有多行字符串作为
slices += 
    ['<div', 
       ' class="', settings.sliceClass, '"',
       ' style="',
     ...
    ].join('');
  slices += 
      '<div' +
          'class="'+settings.sliceClass+'"' +
          'style="' +
              'width:' + slicewidth + 'px;' +
              'height:' + sliceheight + 'px;' +
              'left:' + left + 'px;' +
              'top:' + top + 'px;' +
      '">' +
        '<img src="'+slide.properties.src+'"' +
          'style="' +
            'position: relative;' +
              'left:' + -left + 'px;' +
              'top:' + -top + 'px;' +
              'width:' + Math.round(slide.properties.image.width * slide.properties.scale.width) + 'px;' +
              'height:' + Math.round(slide.properties.image.height * slide.properties.scale.height) + 'px;' +
        '" />' +
      '</div>';