javascript声明多行字符串的方法总结

javascript在声明多行字符串时不是很方便,其实其他语言也有类似的问题,下面总结以下声明多行字符串时的方法:

1,直接声明

var lines = "line1\nline2\nline3\n";
console.log(lines);

这种声明方法采用\n转义符进行回车,执行的结果是:

line1
line2
line3

缺点是声明方式不直观,对于大量的文本定义很难用。

2,多行分开声明

var lines = "line1\n\
             line2\n\
             line3";
console.log(lines);

这种方法采用反斜杆\进行字符串连接,执行的结果是:

line1
          line2
          line3

没错,line2,line3前面有很多空白,这是因为声明时就是这样子的,这种声明方法还有一个缺点,就是每行的末尾都需要增加回车转义符\n,另外如果当文本中存在引号”时,还要进行转义,特别是有很多引号“时,使用起来就很不方便了。

3,使用数组定义,join连接

var lines = [”line1", "line2",  "line3"].join("\n");
console.log(lines);

执行结果是:

line1
line2
line3

这种方法比较取巧,可以分开定义每行,回车转义符\n只需要写一次,算是比较方便,但是还是存在不直观的问题,还有也是每行中当存在引号”时还是需要进行转义。

4,利用函数注释及javascript语言的特性

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

var lines = function(){
/*
<div class="product">
	<img src="/images/product.png"/>
</div>
*/
};
console.log(lines.getMultilines());

这种方法代码量稍微多了一些,执行效率低了一些,但是使用起来非常方便,非常直观,不用更改多行文本的本来样子,不需要进行特殊字符的转义。它利用了javascript可以返回函数完整源代码的这一特点,将源代码中的注释提取出来,而我们需要声明的多行文本就在注释中,非常巧妙。

用来用去还是第4种方法最好用,特别是当多行文本比较复杂时,没有其他方法比它更好用了。

    原文作者:newborn2012
    原文地址: https://blog.csdn.net/newborn2012/article/details/20039303
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞