JavaScript实现Java中StringBuffer的方法

本文实例讲述了JavaScript实现Java中StringBuffer的方法。分享给大家供大家参考。具体如下:

Javascript StringBuffer类的实现是通过prototype构造一个StringBuffer类,代码如下:

function StringBuffer() {
  this.__strings__ = new Array();
}

StringBuffer.prototype.append = function(str) {
  this.__strings__.push(str);
};

StringBuffer.prototype.toString = function() {
  return this.__strings__.join("");
};

例子:

<html>
<head>
<title>test</title>
<script type="text/javascript">
    function StringBuffer() {
      this.__strings__ = new Array();
    }
    StringBuffer.prototype.append = function(str) {
      this.__strings__.push(str);
    };
    StringBuffer.prototype.toString = function() {
      return this.__strings__.join("");
    };

    function testStringBuffer(){
       var date1 = new Date();
       var str;
       for( var i=0; i<10000; i++){
         str += "text";
       }
       var date2 = new Date();
       document.writeln("Sting use time:"+ (date2 - date1) +"ms");

       //StringBuffer
       var date3 = new Date();
       var strBuffer = new StringBuffer();
       for(i=0; i<10000; i++){
         strBuffer.append("text");
       }
       strBuffer.toString();
       var date4 = new Date();
       document.writeln("<br/>StringBuffer use time:"+ (date4 - date3) +"ms");
    }
</script>
</head>
<body>
   <input type="button" value="testStringBuffer" onclick="testStringBuffer()"/>
</body>
</html>

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

(0)

相关推荐

  • js实现StringBuffer的简单实例

    实现: function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.Append = function (str) { this.__strings__.push(str); return this; }; //格式化字符串 StringBuffer.prototype.AppendFormat = function (str) { for (var i = 1; i < arguments.length;

  • 浅谈js中StringBuffer类的实现方法及使用

    如下所示: <strong>JAVA中有一个StringBuffer类,js中却没有下面来自己实现一个简单的js的StringBuffer类.</strong> //创建一个StringBuffer类 ,此类有两个方法:一个是append方法一个是toString方法 function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.append = function(str) { this.__s

  • Lua中实现StringBuffer功能

    在Lua中,字符串是一个常量,如果用字符串连接符".."把2个字符串连接起来,例如first_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个新的字符串,如果在程序里面有大量的字符串连接操作的话,性能会十分低下.Lua是一个很简洁的语言,他没有StringBuffer的实现,但是其实我们可以动手写一个简单的StringBuffer实现,来避免性能的问题. 首先定义一个叫St

  • JavaScript实现Java中StringBuffer的方法

    本文实例讲述了JavaScript实现Java中StringBuffer的方法.分享给大家供大家参考.具体如下: Javascript StringBuffer类的实现是通过prototype构造一个StringBuffer类,代码如下: function StringBuffer() { this.__strings__ = new Array(); } StringBuffer.prototype.append = function(str) { this.__strings__.push(

  • JavaScript实现Java中Map容器的方法

    本文实例讲述了JavaScript实现Java中Map容器的方法.分享给大家供大家参考,具体如下: 声明一下,JavaScript和Java的区别就像雷锋和雷峰塔的区别. 在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作. functio

  • Java中StringBuffer和StringBuilder_动力节点Java学院整理

    下面先给大家介绍下String.StringBuffer.StringBuilder区别,具体详情如下所示: StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.既然可变和不可变都有了,为何还有一个StringBuilder呢?相信初期的你,在进行append时,一般都会选择StringB

  • java中的 toString()方法实例代码

    前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]]  要求转成为 "[1,2,3]#[2,3,5]"

  • 浅谈java中==以及equals方法的用法

    equals 方法是 java.lang.Object 类的方法. 有两种用法说明: (1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时,其比较方法不同. "=="比较两个变量本身的值,即两个对象在内存中的首地址. "equals()"比较字符串中所包含的内容是否相同. 比如: String s1,s2,s3 = "abc", s4 ="abc" ; s1 =

  • java中stringbuffer线程安全分析实例详解

    在对于一些类作用于线程时,安全系数高的线程更推荐大家使用,在尽可能的程度上降低程序出错的可能性.对于本篇所要提到的StringBuffer而言,在其缓冲区中有多个线程的存在,我们在查询其内部方法时发现了锁的存在.现在我们就StringBuffer线程.锁的应用.线程安全分析逐步带来介绍. 1.StringBuffer线程说明 Java.lang.StringBuffer线程安全的可变字符序列.一个类似于String的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某

  • javascript操作ul中li的方法

    本文实例讲述了javascript操作ul中li的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

  • java中重写equals()方法的同时要重写hashcode()方法(详解)

    object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true: 注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码.如下: (1) 当obj1.equals(obj2)为true时,obj1.hashCode() == obj2.hashCode()必须为true (2) 当obj

  • JAVA中AES加密方法实例分析

    本文实例讲述了JAVA中AES加密方法.分享给大家供大家参考.具体如下: java代码: KeyGenerator kg = KeyGenerator.getInstance("AES"); //获取密匙生成器 kg.init(256); //初始化 //DES算法必须是56位 //DESede算法可以是112位或168位 //AES算法可以是128.192.256位 SecretKey key = kg.generateKey(); //生成密匙,可用多种方法来保存密匙 加密: Ci

  • 浅谈Java中的hashcode方法(推荐)

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 一.hashCode方法的作用 对于包含容器类型的程序设计语言来说,基本上都会涉及到has

随机推荐