The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
JavaScript中的String是只读的,所以每次对String变量的操作都会在内存中产生一个零时变量,如果要对字符串进行大量的重复操作,性能和效率都会很低下,因此常用数组的方法操作字符串,即先把字符串都存储在数组中,然后使用join()方法连接字符串。
当然可以把这种方法再演变一下,在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的方法进行对比,会发现效率提高了很多。(注意:要在IE里面进行比较,在firefox里的效率是差不多的)
posted on 2013-10-08 09:50 Eric_jiang 阅读(355) 评论(0)  编辑  收藏 所属分类: JavaScript

只有注册用户登录后才能发表评论。


网站导航: