The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
          JavaScript中的String是只讀的,所以每次對String變量的操作都會(huì)在內(nèi)存中產(chǎn)生一個(gè)零時(shí)變量,如果要對字符串進(jìn)行大量的重復(fù)操作,性能和效率都會(huì)很低下,因此常用數(shù)組的方法操作字符串,即先把字符串都存儲(chǔ)在數(shù)組中,然后使用join()方法連接字符串。
          當(dāng)然可以把這種方法再演變一下,在JavaScript中模擬StringBuffer類。
          <script type="text/javascript">
              function StringBuffer(){
                  this._Strings = new Array();
              }
              StringBuffer.prototype = {
                  append : function(str){
                      this._Strings.push(str);
                  },
                  toString : function(){
                      return this._Strings.join(",");
                  }
              }
              
              var myvar = new StringBuffer();
              myvar.append("a");
              myvar.append("b");
              myvar.append("c");
              myvar.append("d");
              myvar.append("e");
              alert(myvar.toString());
          </script>
          可以把這種方法和原始的直接操作String的方法進(jìn)行對比,會(huì)發(fā)現(xiàn)效率提高了很多。(注意:要在IE里面進(jìn)行比較,在firefox里的效率是差不多的)
          posted on 2013-10-08 09:50 Eric_jiang 閱讀(366) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 屏东县| 福鼎市| 威信县| 西贡区| 西乌| 青岛市| 英吉沙县| 渑池县| 蒙阴县| 韩城市| 邹平县| 长沙县| 彭山县| 通江县| 永宁县| 大兴区| 稷山县| 辉南县| 海盐县| 侯马市| 高雄市| 石泉县| 汕头市| 栾川县| 宜丰县| 金平| 威信县| 漠河县| 宝兴县| 南康市| 九龙城区| 焦作市| 金阳县| 灵寿县| 西平县| 措美县| 二手房| 东丽区| 辽宁省| 仙居县| 嘉祥县|