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
目录
相关文章
|
8天前
|
安全 Java
String类-知识回顾①
这篇文章回顾了Java中String类的相关知识点,包括`==`操作符和`equals()`方法的区别、String类对象的不可变性及其好处、String常量池的概念,以及String对象的加法操作。文章通过代码示例详细解释了这些概念,并探讨了使用String常量池时的一些行为。
String类-知识回顾①
|
1天前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
10 3
|
8天前
|
JavaScript 前端开发
javascript创建字符串
javascript创建字符串
|
5天前
|
索引
Sass String(字符串) 函数
Sass String(字符串) 函数用于处理字符串并获取相关信息。
14 1
|
8天前
|
JavaScript 前端开发
如何在JavaScript中替换字符串:一篇详细指南
如何在JavaScript中替换字符串:一篇详细指南
|
9天前
|
JavaScript 数据处理 索引
js字符串截取
js字符串截取
28 3
|
9天前
|
JavaScript 前端开发 Java
JavaScript 类知识点概览
概览JavaScript中类的知识点,包括类的定义和实现、添加方法和get/set方法、类的继承和静态方法的使用。通过学生类和人员类的例子,演示了类的构造器、方法定义、继承关系和静态方法的调用。
JavaScript 类知识点概览
|
6天前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
|
6天前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
6天前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具