【发布时间】:2011-07-20 11:35:11
【问题描述】:
问题是:
像在 PHP 中那样将多行字符串存储到变量中的 JavaScript 方法是什么?
【问题讨论】:
-
“抢”是什么意思?从哪里来?
标签: javascript string multiline heredoc
问题是:
像在 PHP 中那样将多行字符串存储到变量中的 JavaScript 方法是什么?
【问题讨论】:
标签: javascript string multiline heredoc
var es6string = `<div>
This is a string.
</div>`;
console.log(es6string);
【讨论】:
这行得通:
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';
【讨论】:
var myString = [
'One line',
'Another line'
].join('\n');
【讨论】:
根据之前的回答和不同的用例,这里是一个小例子:
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>
*/});
【讨论】:
如果“多行字符串”是指包含换行符的字符串,则可以通过使用\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
【讨论】:
只有 (?) 在 Javascript 中使用多行字符串的方式:
var multiline_string = 'line 1\
line 2\
line 3';
【讨论】: