JS声明多行文本方法

  1. 直接声明
var lines = "aaa\nbbb\nccc\nddd"
console.log(lines);

缺点:文本复杂起来时,使用不直观,维护困难;


  1. 分行声明
var lines = "aaa\n\
             bbb\n\
             ccc\n\
             ddd";
console.log(lines);
/*
aaa
             bbb
             ccc
             ddd
*/

缺点:有空白,每行的末尾都需要增加回车转义符\n,十分不直观不方便。


  1. 数组定义,join方法连接
var lines = ["aaa","bbb","ccc","ddd"].join("\n");
console.log(lines);
/*
aaa
bbb
ccc
ddd
*/

缺点:比较取巧,可以分开定义每行,回车转义符只用写一次,相比之前的方法方便许多,但是遇到每行中需要存在引号时还是需要转义。


  1. 使用函数
Function.prototype.getMultilines = function () {
    var lines = new String(this);
    lines = lines.substring(lines.indexOf("/*") + 3,lines.lastIndexOf("*/"));
    return lines;
}
var lines = function () {
/*

2018年3月7日 20:45:28

*/ }; console.log(lines.getMultilines()); document.write(lines.getMultilines()); /*

2018年3月7日 20:45:28

*/ // -------------------------------------------------------------- var f = function () {/*

2018年3月7日 20:45:28

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

2018年3月7日 20:45:28

*/

代码量多了一些,但使用非常方便,且直观,推荐文本复杂时使用。

你可能感兴趣的:(JS声明多行文本方法)