javascript的stringBuider方法

来源:互联网 发布:新版汉庭华通软件下载 编辑:程序博客网 时间:2024/04/28 01:35

 在c#中的字符串stringBuider很好用,可以提高字符串连接速度,在javascript中如果用+=同样效率低下

在此提供一个stringBuider方法。

代码如下:

  1. //stringBuider方法  
  2. function StringBuilder() 
  3.    this._strings = new Array;
  4.    this._length= 0;
  5.    if(arguments.length==1)
  6.    {
  7.       this.Append(arguments[0]);
  8.    }
  9. }
  10. //Append
  11. StringBuilder.prototype.Append = function(str){ 
  12.  this._strings.push(str);
  13.  this._length= this.ToString().length;
  14. //ToString
  15. StringBuilder.prototype.ToString = function(){ 
  16. return this._strings.join(""); 
  17. //AppendFormat
  18. StringBuilder.prototype.AppendFormat=function(){
  19.    if(arguments.length==1)
  20.    {
  21.        this.Append(arguments[0]);
  22.    }
  23.    else if(arguments.length>1)
  24.    { 
  25.         var str=arguments[0].toString();
  26.         for(i=1;i<arguments.length;i++)
  27.         {
  28.              var reg = new RegExp("//{"+(i-1)+"//}","g");           
  29.              str=str.replace(reg,arguments[i].toString());
  30.         }
  31.         this._strings.push(str); 
  32.     }
  33.    this._length= this.ToString().length;
  34. }
  35. //Remove
  36. StringBuilder.prototype.Remove=function(startIndex,Length)
  37. {
  38.    if(startIndex+Length<=this._length)
  39.    {
  40.         var str=this.ToString();
  41.         var topStr=str.substring(0, startIndex);
  42.         var bottomStr=str.substring(startIndex+Length, this._length);
  43.         str=topStr+bottomStr;
  44.         this._strings.length=0;
  45.         this._strings.push(str);
  46.         this._length= this.ToString().length;  
  47.    } 
  48. }
  49. 测试一下:
  50. var s=new StringBuilder("哈哈"); 
    s.AppendFormat("{0}","1");
  51. s.AppendFormat("2");
  52. s.Remove(0,s._length);
  53. 方法不长,不做过多解释
原创粉丝点击