字符转移var body = '<!doctype html>\
<html>\
    <head>\
    <meta charset="utf-8">\
<title>无标题文档</title>\
    </head>\
    <body>\
    <form action="/upload" method="post">\
    <textarea name="text" rows="20" cols="60"></textarea>\
    <input type="submit" value="提交" />\
    </form>\
    </body>\
    </html>';
字符串拼接 var body = '<html>'+
    '<head>'+
    '<meta http-equiv="Content-Type" content="text/html; '+
    'charset=UTF-8" />'+
    '</head>'+
    '<body>'+
    '<form action="/upload" method="post">'+
    '<textarea name="text" rows="20" cols="60"></textarea>'+
    '<input type="submit" value="Submit text" />'+
    '</form>'+
    '</body>'+
    '</html>';
那种效率高?为什么会效率高?ps.已知用数组的jion方法拼接字符串会比 普通字符串拼接效率高,我这里想知道  即便是 数组形式的字符串拼接 和 字符转义 那种快?为什么?

解决方案 »

  1.   

    join比plus高那仅仅只是在IE下面,LZ可以自己去测试看看,在非IE内核里,plus是比join效率要高的,根据我自己的测试,千万级别字符串的拼接,用plus,chrome百毫秒级,firefox几十毫秒级,据说SpiderMonkey对字符串拼接做了单独的优化,具体就不得而知了。
      

  2.   

    用 join ['a', 'b', 'c', 'd', ...]
    比 str = ""; str += 'a'; str += 'b'; str +='c'; ...
    效率高, 因为内存copy次数不同, 后者要进行大量copy操作, 同时中间变量同样占用内存, 造成内存溢出(次数多的情况下)
      

  3.   

    谢谢 楼上 2位。请问一下 那 join  plus  会不会比 第一种完全步拼接, 用\ 来转义换行富这种 但字符串来的快?