JavaScript:利用StringBuffer类提升+=拼接字符串效率

简介: 1DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 4 5 6 7 8 9495051
1 <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "  " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
 2 < html xmlns = " http://www.w3.org/1999/xhtml " >
 3 < head >
 4 < meta http - equiv = " Content-Type "  content = " text/html; charset=utf-8 "  / >
 5 < title >< / title>
 6 < / head>
 7 < body >
 8 < / body>
 9 < script type = " text/javascript " ><!--
10      var  str  =  ' hello ' ;
11     str  +=  ' world ' ;
12      // 每次完成字符串连接都会执行步骤2到6步
13      // 实际上,这段代码在幕后执行的步骤如下:
14 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif      /*
15        1.创建存储'hello'的字符串
16        2.创建存储'world'的字符串
17        3.创建存储链接结果的字符串
18        4.把str的当前内容复制到结果中
19        5.把'world'复制到结果中
20        6.更新str,使它指向结果
21    */
    
22     
23      // 为了提高性能最好使用数组方法拼接字符串
24      // 创建一个StringBuffer类
25 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif      function  StringBuffer() {
26        this.__strings__ = [];
27    }
;    
28 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif    StringBuffer.prototype.append  =  function (str) {
29        this.__strings__.push(str);
30    }
;
31 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif    StringBuffer.prototype.toString  =  function () {
32        return this.__strings__.join('');
33    }
;
34     
35      // 调用StringBuffer类,实现拼接字符串
36      // 每次完成字符串连接都会执行步骤2步
37      // 实际上,这段代码在幕后执行的步骤如下:
38 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif      /*
39        1.创建存储结果的字符串
40        2.把每个字符串复制到结果中的合适位置
41    */

42      var  buffer  =  new  StringBuffer();
43     buffer.append( ' hello  ' );
44     buffer.append( ' world ' );
45      var  result  =  buffer.toString();
46     
47      // 用StringBuffer类比使用+=节省50%~66%的时间
48 // -->
49 < / script>
50 < / html>
51
目录
相关文章
|
27天前
|
JavaScript 前端开发
javascript 如何判断字符串日期是否相差七天
在JavaScript中,你可以使用`Date`对象来比较两个日期之间的差异。下面是一个简单的示例,演示如何判断两个字符串日期是否相差七天: ```javascript function isSevenDaysDifference(date1, date2) { // 确保输入是字符串 if (typeof date1 !== 'string' || typeof date2 !== 'string') { return false; } // 将字符串转换为Date对象 var d1 = new Date(date1);
|
1月前
|
JavaScript 数据安全/隐私保护 Android开发
Js随机生成字符串---autojs pro 篇
Js随机生成字符串---autojs pro 篇
15 0
|
1月前
|
存储 编译器 Linux
【字符串探秘:手工雕刻的String类模拟实现大揭秘】(下)
【字符串探秘:手工雕刻的String类模拟实现大揭秘】
|
1月前
|
编译器 C语言 C++
【字符串探秘:手工雕刻的String类模拟实现大揭秘】(中)
【字符串探秘:手工雕刻的String类模拟实现大揭秘】
|
1月前
|
存储 编译器
【字符串探秘:手工雕刻的String类模拟实现大揭秘】(上)
【字符串探秘:手工雕刻的String类模拟实现大揭秘】
|
1月前
|
编译器 C++
【编码艺术:掌握String类函数接口的妙用指南】(三)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
C语言 C++ 容器
【编码艺术:掌握String类函数接口的妙用指南】(一)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
C++ 容器
【c++】string类的模拟实现--1
【c++】string类的模拟实现--1
|
1月前
|
存储 Linux C语言
【编码艺术:掌握String类函数接口的妙用指南】(二)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
Java
String类中的一些常用方法(JAVA)
字符串比较方法: boolean equals(Object anObject):  int compareTo(String s): int compareToIgnoreCase(String str) 字符串查找方法: char charAt(int index): int indexOf(int ch):  int indexOf(int ch, int fromIndex): int indexOf(String str): int indexOf(String str, int fromIndex): int lastIndexOf(int ch): int
46 0

热门文章

最新文章

相关产品

  • 云迁移中心