<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 馬嘉楠 閱讀(479) 評論(0)  編輯  收藏 所屬分類: Java Script
    主站蜘蛛池模板: 亚洲日韩精品无码专区网址| 成年性生交大片免费看| 中文字幕人成人乱码亚洲电影 | 亚洲中文字幕成人在线| 亚洲综合av一区二区三区| 100000免费啪啪18免进| 亚洲w码欧洲s码免费| 成人免费看吃奶视频网站| 亚洲高清一区二区三区电影| 免费精品国产自产拍观看| 视频一区二区三区免费观看| 亚洲国产香蕉人人爽成AV片久久| 国产精品无码免费专区午夜| 亚洲av福利无码无一区二区| 亚洲免费视频观看| 亚洲国产精品无码观看久久| 免费一级特黄特色大片在线观看 | 亚洲精品国产第1页| 24小时日本在线www免费的| 色欲aⅴ亚洲情无码AV| 亚洲片国产一区一级在线观看 | 亚洲人成网站在线在线观看| 国产精品久久免费视频| 亚美影视免费在线观看| 亚洲国产精品自在在线观看| 国产成人精品免费视频大全麻豆| 亚洲第一成年免费网站| 国产亚洲精品免费视频播放| 99re在线精品视频免费| 亚洲狠狠婷婷综合久久蜜芽| 国产亚洲精品无码专区| 成人午夜免费福利视频| 特黄特色大片免费| 亚洲美免无码中文字幕在线| 日韩高清免费观看| 一级毛片成人免费看免费不卡| 亚洲色最新高清av网站| 亚洲线精品一区二区三区| 成人毛片18女人毛片免费视频未 | 久久亚洲国产精品五月天婷| 国产精品免费精品自在线观看|