明霞山资源网 Design By www.htccd.com
本文实例讲述了js实现C#的StringBuilder效果。分享给大家供大家参考,具体如下:
/*
##################### 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])""; }
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])"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)"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程序设计有所帮助。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...