js实现C#的StringBuilder效果完整实例

本文实例讲述了js实现C#的StringBuilder效果分享给大家供大家参考,具体如下:

rush:js;"> /* ##################### DO NOT MODIFY THIS HEADER ##################### # Title: StringBuilder Class # # Description: Simulates the C# StringBuilder Class in Javascript. # # Author: Adam Smith # # Email: ibulwark@hotmail.com # # Date: November 12,2006 # ##################################################################### */ // Simulates the C# StringBuilder Class in Javascript. // Parameter["stringToAdd"] - The string to add. StringBuilder = function(stringToAdd) { var h = new Array(); if(stringToAdd){h[0] = stringToAdd;} this.Append = Append; this.AppendLine = AppendLine; this.ToString = ToString; this.Clear = Clear; this.Length = Length; this.Replace = Replace; this.Remove = Remove; this.Insert = Insert; this.GetType = GetType; // Appends the string representation of a specified object to the end of this instance. // Parameter["stringToAppend"] - The string to append. function Append(stringToAppend) { h[h.length] = stringToAppend; } // Appends the string representation of a specified object to the end of this instance with a carriage return and line Feed. // Parameter["stringToAppend"] - The string to append. function AppendLine(stringToAppend) { h[h.length] = stringToAppend; h[h.length] = "\r\n"; } // Converts a StringBuilder to a String. function ToString() { if(!h){ return ""; } if(h.length<2){ return (h[0])?h[0]:""; } var a = h.join(''); h = new Array(); h[0] = a; return a; } // Clears the StringBuilder function Clear() { h = new Array(); } // Gets the StringBuilder Length function Length() { if(!h){return 0;} if(h.length<2){ return (h[0])?h[0].length:0; } var a = h.join(''); h = new Array(); h[0] = a; return a.length; } // Replaces all occurrences of a specified character or string in this instance with another specified character or string. // Parameter["oldValue"] - The string to replace. // Parameter["newValue"] - The string that replaces oldValue. // Parameter["caseSensitive"] - True or false for case replace. // Return Value - A reference to this instance with all instances of oldValue replaced by newValue. function Replace(oldValue,newValue,caseSensitive) { var r = new RegExp(oldValue,(caseSensitive==true)?'g':'gi'); var b = h.join('').replace(r,newValue); h = new Array(); h[0] = b; return this; } // Removes the specified range of characters from this instance. // Parameter["startIndex"] - The position where removal begins. // Parameter["length"] - The number of characters to remove. // Return Value - A reference to this instance after the excise operation has occurred. function Remove(startIndex,length) { var s = h.join(''); h = new Array(); if(startIndex<1){h[0]=s.substring(length,s.length);} if(startIndex>s.length){h[0]=s;} else { h[0]=s.substring(0,startIndex); h[1]=s.substring(startIndex+length,s.length); } return this; } // Inserts the string representation of a specified object into this instance at a specified character position. // Parameter["index"] - The position at which to insert. // Parameter["value"] - The string to insert. // Return Value - A reference to this instance after the insert operation has occurred. function Insert(index,value) { var s = h.join(''); h = new Array(); if(index<1){h[0]=value; h[1]=s;} if(index>=s.length){h[0]=s; h[1]=value;} else { h[0]=s.substring(0,index); h[1]=value; h[2]=s.substring(index,s.length); } return this; } // Gets the type function GetType() { return "StringBuilder"; } };

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...