js模拟stringbuilder 测试通过

/**  
 * 模拟StringBuilder  
*/  
 var  StringBuilder = function(){  
        this.vStrings = new Array();  
        this.flag = false;  
        if(!this.flag){  
            StringBuilder.prototype.append = function(str){  
                this.vStrings.push(str);  
            }  
            StringBuilder.prototype.toString = function(){  
                return this.vStrings.join("");  
            }  
            StringBuilder.prototype.charAt = function(index){  
                return this.toString().charAt(index);  
            }  
            StringBuilder.prototype.clear = function(){  
                this.vStrings.length = 0;  
            }  
            StringBuilder.prototype.Delete = function (start,end){  
                var tempString = this.toString();  
                var prevString = tempString.substring(0,start);  
                var nextString = end ?  tempString.substring(end) : tempString.substring(start+1);  
                this.clear();  
                this.append(prevString);  
                this.append(nextString);  
            }  
            StringBuilder.prototype.length = function(){  
                return this.toString().length;  
            }  
            StringBuilder.prototype.substring = function(start,end){  
                return this.toString().substring(start,end);  
            }  
            StringBuilder.prototype.replace = function(oldStr,newStr){  
                var newStr = newStr ? newStr : "";  
                var tempString =  this.toString().replace(new RegExp(oldStr,"g"),newStr);  
                this.clear();  
                this.append(tempString);  
            }  
            StringBuilder.prototype.indexOf = function (val){  
                return this.toString().indexOf(val);  
            }  
            StringBuilder.prototype.lastIndexOf = function(val){  
                return this.toString().lastIndexOf(val);  
            }  
            StringBuilder.prototype.insert = function (offset,str){  
                var prevString = this.substring(0,offset);  
                var middleString = str;  
                var nextString = this.substring(offset);  
                this.clear();  
                this.append(prevString);  
                this.append(middleString);  
                this.append(nextString);  
            }  
            this.flag = true;  
        }  
    }  

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值