在JavaScript中连接多行上的字符串

gaf*_*ill -4 javascript

我有一些代码如下:

var css = '.myclass { text-align: center .... };
Run Code Online (Sandbox Code Playgroud)

约会可以变得很长.

是否有一个var添加多行然后合并在一起,如:

var 
   css = '.myclass { text-align: center .... };
  +css = '.myclass { something else .... };
Run Code Online (Sandbox Code Playgroud)

那么css是两条线的合并?

cas*_*raf 6

尝试:

var css = '.myclass { text-align: center .... };' + 
          '.myclass { something else .... };';
Run Code Online (Sandbox Code Playgroud)

要么:

var css = [
           '.myclass { text-align: center .... };',
           '.myclass { something else .... };'
          ].join("\n");
Run Code Online (Sandbox Code Playgroud)


Sea*_*ira 5

是的,如果只使用常绿浏览器,则可以使用新`引号:

var css = `
.multiple {
  lines: can;
  go: here;
}
`;
Run Code Online (Sandbox Code Playgroud)

如果需要支持非常绿浏览器,则可以使用以下几种多行字符串方法之一:

// Escape new lines (slash must be the *last* character or it will break
var css = '\
.multiple {\
  lines: can;\
  go: here;\
}';

// Use comments and `toString` parsing:
var css = extractMultiLineString(function() {/*
.multiple {
  lines: can;
  go: here;
}
*/});

// Not tested, but this is the general idea
function extractMultiLineString(f) {
  var wrappedString = f.toString();
  var startIndex = wrappedString.indexOf('/*') + 2;
  var endIndex = wrappedString.lastIndexOf('*/') - 1;
  return wrappedString.slice(startIndex, endIndex);
}
Run Code Online (Sandbox Code Playgroud)