<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Oo緣來是你oO


    posts - 120,comments - 125,trackbacks - 0

    JavaScript中字符串連接性能優化

            -- JavaScript 學習筆記

    馬嘉楠    2008-12-19

     

    var str = "hello"
    str 
    += " world"

     

    后臺所做工作:

    1)創建存儲 "hello" 的字符串,且使 str 指向它。

    2)創建存儲 "world" 的字符串。

    3)創建存儲結果的字符串。

    4)將 str 中的當前內容復制到結果字符串中。

    5)把 world 復制到結果字符串中。

    6)更新 str ,使 str 指向結果字符串。

     

    每拼接一次字符串就循環重復2)~6),如果重復成百上千次則會非常消耗資源,影響性能。

     

    解決方法:

    使用 Array 對象存儲字符串,之后使用 join()方法輸出結果。

    仿照 Java 中的 StringBuffer 類。

     

        function StringBuffer(){ 
            
    this._strings = new
     Array; 
        } 
        StringBuffer.prototype.append 
    = function
     (str){ 
            
    this
    ._strings.push(str); 
        } 
        StringBuffer.prototype.toString 
    = function
     (){ 
            
    return this._strings.join(""
    ); 
        } 

     

    測試性能:

    代碼1:使用 "+=" 拼接字符串

     

    var d = new Date(); 
    var str = ""

    for(var i=0;i<10000;i++
    ){ 
        str 
    += "test"



    var d2 = new
     Date(); 
    document.writeln(d2.getTime()
    -d.getTime()); 

     

    代碼2:使用 StringBuffer

     

    var d = new Date(); 
    var str = new
     StringBuffer(); 
    for(var i=0;i<10000;i++
    ){ 
        str.append(
    "test"
    ); 

    var res =
     str.toString(); 
    var d2 = new
     Date(); 
    document.writeln(d2.getTime()
    -d.getTime()); 

     

    從多次測試結果看來,使用StringBuffer 可以節省50%以上的時間。



    馬嘉楠
    jianan.ma@gmail.com

    posted on 2008-12-20 00:09 馬嘉楠 閱讀(477) 評論(0)  編輯  收藏 所屬分類: Java Script
    主站蜘蛛池模板: 亚洲综合小说久久另类区| 亚洲第一成年人网站| 日本亚洲欧美色视频在线播放 | 成人免费无码视频在线网站| 亚洲色偷偷av男人的天堂| 中文字幕在线免费| 亚洲毛片无码专区亚洲乱| 日韩在线播放全免费| 亚洲妇女水蜜桃av网网站| 无码区日韩特区永久免费系列| 亚洲a视频在线观看| 色多多免费视频观看区一区| 国产jizzjizz免费看jizz| 亚洲午夜精品一区二区| 91老湿机福利免费体验| 亚洲毛片基地日韩毛片基地| 日韩精品成人无码专区免费| 亚洲精品无码专区| 亚洲第一永久AV网站久久精品男人的天堂AV | 四虎永久免费影院在线| 免费夜色污私人影院网站电影| 久久精品国产精品亚洲艾草网美妙| 久久免费99精品国产自在现线| 亚洲国产精品无码久久久不卡 | 在线免费观看伊人三级电影| 亚洲自偷自拍另类12p| 女人18毛片水最多免费观看| 一级毛片免费观看不收费| 亚洲成人午夜在线| 女性无套免费网站在线看| 一级毛片免费不卡| 亚洲码一区二区三区| 国产午夜鲁丝片AV无码免费| 韩日电影在线播放免费版| 亚洲成A∨人片在线观看无码| 日韩人妻无码免费视频一区二区三区| 国产黄色免费观看| 亚洲国产人成在线观看| 亚洲国产电影av在线网址| 中文字幕在线免费观看| 老牛精品亚洲成av人片|