javascript StringBuilder类实现

代码如下:

// Initializes a new instance of the StringBuilder class
// and appends the given value if supplied
function StringBuilder(value)
{
this.strings = new Array("");
this.append(value);
}
// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value)
{
if (value)
{
this.strings.push(value);
}
}

// Clears the string buffer

StringBuilder.prototype.clear = function ()
{
this.strings.length = 1;
}

// Converts this instance to a String.
StringBuilder.prototype.toString = function ()
{
return this.strings.join("");
}

代码看上去很简单直接。实际上就是用array,push,join等来实现,以下是如何使用该类


代码如下:

// create a StringBuilder
var sb = new StringBuilder();
// append some text
sb.append("Some of those preparing for international ");
sb.append("exams such as the TOEFL ");
sb.append("need extra practice for the listening section");
// get the full string value
var s = sb.toString();
alert(s);

非常简单,不需要太多的说明。如果你在.NET中用了StringBuilder,你也会知道这里如何用。

(0)

相关推荐

  • c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)

    将此实例的子字符串中所有指定字符的匹配项替换为其他指定字符. 命名空间:System.Text  程序集:mscorlib(在 mscorlib.dll 中) 语法  C#  public StringBuilder Replace (  char oldChar,  char newChar,  int startIndex,  int count  )  参数  oldChar  要替换的字符. newChar  替换 oldChar 的字符. startIndex  此实例中子字符串开始的

  • asp.net StringBuilder的用法 实例代码

    要实现上述效果 复制代码 代码如下: public static string ShowNewMsg() { string Pic1 = "images/yzdp-_15.gif"; string Pic2 = "images/yzdp-_18.gif"; string Pic3 = "images/yzdp-_20.gif"; string Pic4 = "images/yzdp-_22.gif"; string Pic5

  • 全面解释java中StringBuilder、StringBuffer、String类之间的关系

    1. String 类 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但0x0001地址中保存的"a"依旧存在,但已经不再是a所指向的,a 已经指向了其它地址. 因此String的操作都是改变赋值地址而不是改变值操作. 2. StringBuf

  • Java之String、StringBuffer、StringBuilder的区别分析

    相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder .那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?在不同的场合下我们应该用哪个呢?我讲讲自己对这几个类的一点看法,也希望大家提出意见,每个人都有错的地方,在

  • C#中StringBuilder类的使用总结

    String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能. 通过用一个重载的构造函数方法初始化变量,可以创建

  • C#中StringBuilder用法以及和String的区别分析

    String类有不可改变性.每次执行字符操作时,都会创建一个新的String对象. StringBuilder 类解决了对字符串进行重复修改的过程中创建大量对象的问题.初始化一个StringBuilder 之后,它会自动申请一个默认的StringBuilder 容量(默认值是16),这个容量是由Capacity来控制的.并且允许,我们根据需要来控制Capacity的大小,也可以通过Length来获取或设置StringBuilder 的长度. 举例: 用String类这么写 复制代码 代码如下:

  • java中String与StringBuilder的区别

    相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类).那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?

  • ToStringBuilder类的一些心得

    今天接触了一下ToStringBuilder类,这里做一个备忘.ToStringBuilder在包 common-lang 中,主要用于一个类的格式化输出.ToStringBuilder类中的append方法可以向该类添加基本类型.数组和对象 ,只有添加的方法才会被toString方法输出.        ToStringStyle类则是对输出的内容进行格式化.例如:public String toString() -{return new ToStringBuilder(this, ToStr

  • 详解C++中StringBuilder类的实现及其性能优化

    介绍 经常出现客户端打电话抱怨说:你们的程序慢如蜗牛.你开始检查可能的疑点:文件IO,数据库访问速度,甚至查看web服务. 但是这些可能的疑点都很正常,一点问题都没有. 你使用最顺手的性能分析工具分析,发现瓶颈在于一个小函数,这个函数的作用是将一个长的字符串链表写到一文件中. 你对这个函数做了如下优化:将所有的小字符串连接成一个长的字符串,执行一次文件写入操作,避免成千上万次的小字符串写文件操作. 这个优化只做对了一半. 你先测试大字符串写文件的速度,发现快如闪电.然后你再测试所有字符串拼接的速

  • C# 利用StringBuilder提升字符串拼接性能的小例子

    用Stopwatch分段监控了一下,发现耗时最多的函数是SaveToExcel 此函数中遍列所有数据行,通过Replace替换标签生成Excel行,然后将行数据累加赋值到一个字符串 复制代码 代码如下: string excelString = ""; foreach(var item in list){         excelString += string.Format("<row>....{0}</row>",list.Title)

  • 深入解析StringBuffer和StringBuilder的区别

    做项目中经常用到String和StringBuilder,String可以用"+"来对字符串进行拼接,StringBuilder用append进行拼接,一直不明白既然可以用String,问什么还要用StringBuilder.尽管在做数据库查询的时候,习惯性的用了StringBuilder对查询语句进行拼接,但仍然不知道原因.今天看视频的时候,又看到了StringBuffer,感觉用法又差不多,所以特意查了一下这些东西的区别.归纳如下:1.在执行速度方面的比较:StringBuilde

  • ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较

    直观认识:正面交锋  性能测试1:StringBuilder  第 1 轮测试:用时 312.5 毫秒  第 2 轮测试:用时 421.875 毫秒  第 3 轮测试:用时 453.125 毫秒  第 4 轮测试:用时 421.875 毫秒  第 5 轮测试:用时 453.125 毫秒  性能测试2:StringWriter  第 1 轮测试:用时 406.25 毫秒  第 2 轮测试:用时 453.125 毫秒  第 3 轮测试:用时 421.875 毫秒  第 4 轮测试:用时 437.5 

随机推荐