- 直接声明
var lines = "aaa\nbbb\nccc\nddd"
console.log(lines);
缺点:文本复杂起来时,使用不直观,维护困难;
- 分行声明
var lines = "aaa\n\
bbb\n\
ccc\n\
ddd";
console.log(lines);
/*
aaa
bbb
ccc
ddd
*/
缺点:有空白,每行的末尾都需要增加回车转义符\n,十分不直观不方便。
- 数组定义,join方法连接
var lines = ["aaa","bbb","ccc","ddd"].join("\n");
console.log(lines);
/*
aaa
bbb
ccc
ddd
*/
缺点:比较取巧,可以分开定义每行,回车转义符只用写一次,相比之前的方法方便许多,但是遇到每行中需要存在引号时还是需要转义。
- 使用函数
Function.prototype.getMultilines = function () {
var lines = new String(this);
lines = lines.substring(lines.indexOf("/*") + 3,lines.lastIndexOf("*/"));
return lines;
}
var lines = function () {
/*
<div class="test">
<h1>2018年3月7日 20:45:28</h1>
</div>
*/
};
console.log(lines.getMultilines());
document.write(lines.getMultilines());
/*
<div class="test">
<h1>2018年3月7日 20:45:28</h1>
</div>
*/
// --------------------------------------------------------------
var f = function () {/*
<div class="test">
<h1>2018年3月7日 20:45:28</h1>
</div>
*/};
var multiline = function (fn) {
var str = fn.toString().split('\n');
// console.log(str);
return str.slice(1, str.length - 1 ).join('\n');
}
var test = multiline(f)
console.log(test);
document.write(test);
/*
<div class="test">
<h1>2018年3月7日 20:45:28</h1>
</div>
*/
代码量多了一些,但使用非常方便,且直观,推荐文本复杂时使用。
网友评论