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

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    /*
15        1.创建存储'hello'的字符串
16        2.创建存储'world'的字符串
17        3.创建存储链接结果的字符串
18        4.把str的当前内容复制到结果中
19        5.把'world'复制到结果中
20        6.更新str,使它指向结果
21    */    
22    
23    //为了提高性能最好使用数组方法拼接字符串
24    //创建一个StringBuffer类
25    function StringBuffer(){
26        this.__strings__ = [];
27    };    
28    StringBuffer.prototype.append = function(str){
29        this.__strings__.push(str);
30    };
31    StringBuffer.prototype.toString = function(){
32        return this.__strings__.join('');
33    };
34    
35    //调用StringBuffer类,实现拼接字符串
36    //每次完成字符串连接都会执行步骤2步
37    //实际上,这段代码在幕后执行的步骤如下:
38    /*
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

时间: 2024-12-01 20:55:38

JavaScript:利用StringBuffer类提升+=拼接字符串效率的相关文章

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

复制代码 代码如下: <!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"> <head> <meta http-equiv=&qu

JavaScript中使用concat()方法拼接字符串的教程_基础知识

 这种方法将两个或多个字符串,并返回一个新的单字符串.语法 string.concat(string2, string3[, ..., stringN]); 下面是参数的详细信息:     string2...stringN : 这些是要连接字符串. 返回值: 返回一个连接字符串.例子: <html> <head> <title>JavaScript String concat() Method</title> </head> <body&

JavaScript极速狂飙:组合拼接字符串的效率

javascript|字符串     在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率.    字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚

JavaScript组合拼接字符串的效率对比测试

 在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率. 字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如:

javascript之大字符串的连接的StringBuffer 类_javascript技巧

大字符串的连接最好使用数组,把每个子串放入数组元素,再执行join()连接起来,其效率比+=有明显的提高. 因此,可以由此原理写一个简单的 StringBuffer 类,在遇到大字符串连接时可以派上用场. //by misshjn function StringBuffer(){    this.data = []; } StringBuffer.prototype.append = function(){    this.data.push(arguments[0]);    return t

JavaScript组合拼接字符串的效率对比测试_javascript技巧

在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率. 字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如: 复

&amp;#106avascript极速狂飙:组合拼接字符串的效率

字符串     在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率.     字符串的拼接在我们写代码的时候都是用"+="这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CP

JavaScript利用构造函数和原型的方式模拟C#类的功能

 这篇文章主要介绍了JavaScript利用构造函数和原型的方式模拟C#类的功能.需要的朋友可以过来参考下,希望对大家有所帮助 代码如下:     //构造函数         function person(name, age) {             this.name = name;             this.age = age;         }         //定义person原型,原型里的属性可以被自定义对象引用         person.prototype =

阿里巴巴欲利用H5游戏提升移动端电商导购效率

DoNews游戏2月3日特稿(记者 赵玥) H5游戏因其低廉的开发成本和强大的传播能力,从神经猫起便获得了广泛的关注.但同时,较低的变现能力,及以微信等平台对其传播的限制,又让这一新兴的游戏类型进入了商业化模式的迷茫探索. H5游戏的开发者想要一个舒适的生存环境,而阿里的电商平台在从PC端转至移动端的过程中也亟需导购模式的转变.二者的结合,刚好能同时满足阿里手淘卖家和H5开发者各自的需求,阿里巴巴商家业务事业部无线商家负责人张阔表示. 利用H5游戏提升移动端电商导购效率 张阔介绍,淘宝的用户在由