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 () {
/*
<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> 
*/

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,193评论 0 13
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,176评论 1 19
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,240评论 1 44
  • 一、思路 1 、先用面向对象的方法把拖拽的功能实现 以下是我们的拖拽代码: 2 、 我们需要重新创建一个html然...
    杨赛舟阅读 623评论 0 0
  • 了解晨读活动请戳→《王路晨读晚课群晨读活动须知》 即日起,开始加入前一天晚上同学们做的晚课。何谓晚课呢?晚课是王路...
    王路读者群1阅读 684评论 0 1