JS字符串累加Array不一定比字符串累加快(根据电脑配置)
时间:2024-05-02 16:10:18
先贴出完整代码.
<script type="text/javascript">
function StringBuffer() {
this._strings = new Array();
}
StringBuffer.prototype.append = function(str) {
this._strings.push(str);
//StringBuffer.prototype.length = this._strings.length;//每多一行,就会多消耗处理时间
var i = "asdfasdf";
}
StringBuffer.prototype.toString = function() {
this._strings.join("");
}
/*String类 + 号累加*/
var d = new Date();//累加开始时间
var str = "1";
for (var i = 0; i < 200; i++) {
str += "ssss";
for (var i = 0; i < 30000; i++) {
str += "text";
}
}
var d2 = new Date(); //累加结束时间
document.write("+:"+(d2.getTime() - d.getTime()) + "milliseconds");//累加30000用时
/*自定义StringBuffer类 字符串累加*/
d = new Date(); //StringBuffer开始时间
var buffer = new StringBuffer();
for (var i = 0; i < 200; i++) {
str += "ssss";
for (var i = 0; i < 30000; i++) {
buffer.append("text");
}
}
var resultstr = buffer.toString();
d2 = new Date();
document.write("<br/>StringBuffer:" + (d2.getTime() - d.getTime()) + "milliseconds");
/*直接使用Array 不进行封装*/
d = new Date();
var arr = new Array();
for (var i = 0; i < 200; i++) {
str += "ssss";
for (var i = 0; i < 30000; i++) {
arr.push("text");
}
}
var resStr = arr.join("");
d2 = new Date();
document.write("<br/>Array:" + (d2.getTime() - d.getTime()) + "milliseconds");
</script>
[code]
先说下我的机器配置 如图1:
。
运行时间结果 如图2:
在一台N老的机子上运行结果 如图3:
上面一堆的代码和图可能乱了。总结如下:
机器配置较低时:“+”字符串拼接方式消耗时间明显高于Array 方式
机器配置较高时:“+”字符串拼接方式消耗时间可能会与Array方式持平。甚者会更短.
总结:为了保险起见。还是推荐使用Array 来进行字符串拼接操作.
标签:字符串累加,Array
0
投稿
猜你喜欢
python的mysql数据库建立表与插入数据操作示例
2024-01-22 22:27:32
mysql 存储过程中变量的定义与赋值操作
2024-01-22 18:44:55
python中for语句简单遍历数据的方法
2023-04-18 11:26:45
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2023-11-19 02:10:43
SQL中的三种去重方法小结
2024-01-23 20:19:15
Python练习-购物单
2023-01-21 16:27:33
Oracle与MySQL的区别及优缺点
2024-01-25 12:47:52
python如何统计序列中元素
2022-03-04 16:32:16
python中pickle模块浅析
2022-02-06 06:27:38
PHP根据key删除数组中指定的元素
2023-07-17 19:46:27
如何将PySpark导入Python的放实现(2种)
2022-10-21 02:12:16
MySQL开启Slow慢查询的方法示例
2024-01-14 17:43:26
vue货币过滤器的实现方法
2024-05-09 10:40:58
空行不空格式排版组织原理
2010-05-03 14:46:00
python用于url解码和中文解析的小脚本(python url decoder)
2023-01-28 06:19:00
Python模块学习 datetime介绍
2023-08-15 16:01:18
Vue + Webpack + Vue-loader学习教程之相关配置篇
2024-04-29 13:10:40
Cython编译python为so 代码加密示例
2023-01-22 13:16:48
python实现雪花飘落效果实例讲解
2022-08-29 07:31:55
如何解决客户机页面刷新时连接不上数据库问题?
2009-12-16 18:24:00