一個js寫的StringBuffer類

  1. function StringBuffer() {  
  2.     this._objArray = [];  
  3.     this._undoFlag = false;  
  4. };  
  5.   
  6. StringBuffer.prototype.toString = function() {  
  7.     if(this._objArray.length==0) {  
  8.         return '';  
  9.     }  
  10.     var str = this._objArray.join('');  
  11.     if(this._objArray.length > 1) {  
  12.         this.clear();  
  13.         this.append(str);  
  14.     }  
  15.     this._undoFlag = false;  
  16.     return str;  
  17. };  
  18.   
  19. StringBuffer.prototype.append = function(object) {  
  20.     this._objArray[this._objArray.length] = object;  
  21.     this._undoFlag = true;  
  22.     return this;  
  23. };  
  24.   
  25. StringBuffer.prototype.clear = function() {  
  26.     this._objArray.length = 0;  
  27.     this._undoFlag = false;  
  28. };  
  29.   
  30. StringBuffer.prototype.undoLastAppend = function() {  
  31.     if(this._undoFlag) {  
  32.         this._objArray.length = this._objArray.length -1;  
  33.         this._undoFlag = false;  
  34.     }  
  35. };  
  36.   
  37. StringBuffer.prototype.setSize = function(size) {  
  38.     if(size==null || size<=0) {  
  39.         this.clear();  
  40.         return;  
  41.     }  
  42.     var str = this._objArray.join('');  
  43.     if(size < str.length) {  
  44.         str = str.substring(0, size);  
  45.         this.clear();  
  46.         this.append(str);  
  47.     } else if(this._objArray.length > 1) {  
  48.         this.clear();  
  49.         this.append(str);  
  50.     }  
  51.     this._undoFlag = false;  
  52. };  
  53.   
  54. StringBuffer.prototype.getSize = function() {  
  55.     var str = this.toString();  
  56.     return str.length;  
  57. };
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章