博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript模拟C# Stringbuilder
阅读量:6721 次
发布时间:2019-06-25

本文共 1153 字,大约阅读时间需要 3 分钟。

就像在c#中一样,我们可以使用”+”来拼接字符串,而对于操作频繁、讲究效率的字符串拼接操作我们应该选择stringbuilder类。在javascript中是否也存在这个问题呢?答案是肯定的,虽然javascript并没有为我们提供一个内置的stringbuilder对象,但是我们可以自己来创建一个!至于效率到底能提高多少,让程序说话吧!

//---stringbuilder---function stringbuilder(){this.__string__ = new array();}stringbuilder.prototype.append = function(str){this.__string__.push(str);}stringbuilder.prototype.tostring = function(){return this.__string__.join("");} var d1 = new date();var buffer = new stringbuilder();for(var i = 1; i < 10000; i++){buffer.append("e3card");}var strresult = buffer.tostring();var d2 = new date(); document.write("stringbuilder用时:" + (d2.gettime() - d1.gettime()) + "
"); //---+-----var d3 = new date();var str = "";for(var i = 1; i < 10000; i++){str += "e3card";}var d4 = new date();document.write("+链接用时:" + (d4.gettime() - d3.gettime()) + "
");

在我的机器上(core2 3.0g/4gram),反复f5后得到一个,比较平稳的测试结果:

stringbuilder用时:32

+链接用时:1109

哇哦,30多倍,我没看错吧!

好了,赶快自己做好一个lib,以后都用这个stringbuilder吧:

function stringbuilder(){this.__string__ = new array();}stringbuilder.prototype.append = function(str){this.__string__.push(str);}stringbuilder.prototype.tostring = function(){return this.__string__.join("");}

 

 

 

 

 

转载地址:http://dwjmo.baihongyu.com/

你可能感兴趣的文章
学习笔记CB004:提问、检索、回答、NLPIR
查看>>
介绍一些有趣的MySQL pager命令
查看>>
Golang 内存管理源码剖析
查看>>
简单了解负载均衡
查看>>
github 提交 常见操作和常见错误
查看>>
Ubuntu安装Mysql
查看>>
10.01-火狐浏览器设置
查看>>
20.22 告警系统监控项目
查看>>
开源ITIL管理工具OTRS简单介绍
查看>>
spring+httpclient完美集成,封装常用客户端工具类
查看>>
11月15日云栖精选夜读:分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?...
查看>>
paho.mqtt.android代码逐步分析(三)
查看>>
Java基础——类和对象
查看>>
继承与派生
查看>>
WinServer2008 下IIS安装
查看>>
如何给Docker hub用户上传头像
查看>>
Docker入门系列之一:在一个Docker容器里运行指定的web应用
查看>>
健康链(HDC):基础公链为经,医疗引擎为纬
查看>>
中国《南方画刊》第2期
查看>>
以太坊智能合约示例
查看>>