JavaScript 多行字符串 [重复]

Posted

技术标签:

【中文标题】JavaScript 多行字符串 [重复]【英文标题】:JavaScript Multiline String [duplicate] 【发布时间】:2011-07-20 11:35:11 【问题描述】:

问题是:

像在 php 中那样将多行字符串存储到变量中的 javascript 方法是什么?

【问题讨论】:

“抢”是什么意思?从哪里来? 在***.com/a/19970452/209797查看我的回答 【参考方案1】:
var es6string = `<div>
    This is a string.
</div>`;

console.log(es6string);

【讨论】:

注意:这仅适用于 ES6,在撰写本文时,IE11 或 Safari 还没有得到很好的支持。 这正在成为正确答案。 呃,为什么 JS 需要重新发明***。这应该是一个子流程。【参考方案2】:

这行得通:

var htmlString = "<div>This is a string.</div>";

失败:

var htmlSTring = "<div>
  This is a string.
</div>";

有时这对可读性是可取的。

添加反斜杠以使其工作:

var htmlSTring = "<div>\
  This is a string.\
</div>";

或者这样

var htmlSTring  = 'This is\n' +
'a multiline\n' + 
'string';

【讨论】:

【参考方案3】:
var myString = [
  'One line',
  'Another line'
].join('\n');

【讨论】:

【参考方案4】:

根据之前的回答和不同的用例,这里是一个小例子:

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>
*/);

【讨论】:

我以前从未见过这个,我不知道这会有多实用,但这是处理多行字符串的非常有创意的方法! +1【参考方案5】:

如果“多行字符串”是指包含换行符的字符串,则可以通过使用\n(换行符)转义它们来编写:

var multilineString = 'Line 1\nLine 2';
alert(multilineString);
// Line 1
// Line 2

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

var multilineString = 'Line \
1\nLine 2';
alert(multilineString);
// Line 1
// Line 2

【讨论】:

【参考方案6】:

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

var multiline_string = 'line 1\
line 2\
line 3';

【讨论】:

以上是关于JavaScript 多行字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:多行字符串

多行格式化的 JavaScript 正则表达式 [重复]

Python Java Javascript三种语言的不同之字符串

如何在多行 innerHTML 属性的 javascript 中包含 if 语句?

JavaScript无法从Java解析用Gson序列化的字符串[重复]

从 oracle 到 javascript 的多行字符串