字符串连接追加字符串:使用s+=anotherStr操作,不要使用s=s+anotherStr
连接多个字符串:应该写成s+=a+b+c,不要s+=a;s+=b;s+=c
收集字符串:使用JavaScript数组来收集再用join方法连接起来
例如:
var buf = new Array();
for(var i = 0; i < 100; i++) { buf.push(i.toString()); }
var all = buf.join("");

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title></title>
    <script type="text/javascript">
    function test1() 
    { var d1 = new Date(); 
    var innerHtml = ' <table> <tbody> '; 
    var i = 0; 
    for (var i = 0; i < 1000; i++) 

    innerHtml += ' <tr> '; 
    innerHtml += ' <td> ' + i + ' </td> '; 
    for (var j = 0; j < 2; j++) 

    innerHtml += ' <td> '; 
    innerHtml += 'abc'; 
    innerHtml += ' </td> '; 

    innerHtml += ' </tr> '; 
     

    innerHtml += ' </tbody> </table> '; 
    var d2 = new Date(); 
    alert(d2.getTime()-d1.getTime()); document.getElementById("aaa").innerHTML = innerHtml;} 
    function test2() 
    {
    var d1 = new Date(); 

    var buf = new Array();

    buf.push(' <table> <tbody> ');

    for (var i = 0; i < 1000; i++) 

    buf.push('<tr><td>')
    buf.push(i.toString())
    buf.push('</td>');

    for (var j = 0; j < 2; j++) 

    buf.push('<td>')
    buf.push('abc')
    buf.push('</td>');
    }

    buf.push('</tr>')
    }

    buf.push('</tbody> </table>'); var str = buf.join("");

    var d2 = new Date(); 
    alert(d2.getTime()-d1.getTime());

    document.getElementById("aaa").innerHTML = str;
    }</script>
    </head>
    <body>
    <input id="Button1" type="button" value="test1" onclick ="test1();"/> 
    <input id="Button1" type="button" value="test2" onclick ="test2();"/> 
    <div id="aaa"></div>
    </body>
    </html>