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

问题是:

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

【问题讨论】:

标签: javascript string multiline heredoc


【解决方案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';
        

        【讨论】:

          猜你喜欢
          • 2010-09-17
          • 1970-01-01
          • 1970-01-01
          • 2016-09-21
          • 1970-01-01
          • 2013-01-11
          • 1970-01-01
          • 2010-12-25
          相关资源
          最近更新 更多