JavaScript多行字符串

luc*_*uca 13 javascript string heredoc multiline

问题是:

什么是将多行字符串存储到变量中的JavaScript方法,就像在PHP中一样?

Mar*_*ijn 22

如果"多行字符串"表示包含换行符的字符串,则可以通过使用\n(对于换行符)转义它们来编写它们:

var multilineString = 'Line 1\nLine 2';
alert(multilineString);
// Line 1
// Line 2
Run Code Online (Sandbox Code Playgroud)

如果你的意思是,如何在多行代码中写入字符串,那么你可以通过\在行尾添加反斜杠来继续字符串:

var multilineString = 'Line \
1\nLine 2';
alert(multilineString);
// Line 1
// Line 2
Run Code Online (Sandbox Code Playgroud)


End*_*ess 12

var es6string = `<div>
    This is a string.
</div>`;

console.log(es6string);
Run Code Online (Sandbox Code Playgroud)

  • 注意:这仅适用于ES6,在撰写本文时,在IE11或Safari中不能很好地支持. (2认同)
  • 这正在成为正确的答案. (2认同)

seb*_*ien 7

根据以前的答案和不同的用例,这里有一个小例子:

https://gist.github.com/lavoiesl/5880516 别忘了使用/*!避免在缩小时删除评论

function extractFuncCommentString(func) {
  var matches = func.toString().match(/function\s*\(\)\s*\{\s*\/\*\!?\s*([\s\S]+?)\s*\*\/\s*\}/);
  if (!matches) return false;

  return matches[1];
}

var myString = extractFuncCommentString(function(){/*!
  <p>
    foo bar
  </p>
*/});
Run Code Online (Sandbox Code Playgroud)

  • 我以前从未见过这个,我不知道这会有多实用,但这是处理多行字符串的创新方式!+1 (2认同)

Bjö*_*örn 5

只有(?)方式在Javascript中有多行字符串:

var multiline_string = 'line 1\
line 2\
line 3';
Run Code Online (Sandbox Code Playgroud)