美文网首页
JS声明多行文本方法

JS声明多行文本方法

作者: DHFE | 来源:发表于2018-03-07 21:03 被阅读11次
    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> 
    */
    

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

    相关文章

      网友评论

          本文标题:JS声明多行文本方法

          本文链接:https://www.haomeiwen.com/subject/ogsxfftx.html