博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中的字符串连接
阅读量:5090 次
发布时间:2019-06-13

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

ref:

这篇文章将会介绍一些能够提高你的JavaScript代码性能的建议和技巧。

原文参见

 

问题

大多数JavaScript开发者都习惯于使用 JavaScript提供的简单的字符串处理,比如连接字符串的”+”运算符:

var str = “Hello” + “ World”;

这句代码可读性很好,对于连接小的字符串是很方便的。但是利用这样的方法去操作许多的字符串(比如当你要动态的创建整个页面内容)时,代码性能将被严重影响。

解决方案

数组对象的join方法使我们可以将数组里的所有元素连接成为一个字符串,在这个连接过程中,join方法还允许我们设定一个字符作为分隔符插入在各个元素中间昨晚间隔。如果我们将我们要连接的文字段落的各个部分分别赋予给一个数组的各个元素,然后利用join方法将他们连接在一起(分隔符设置为空),我们可以得到与“+”操作同样的结果。这种方法类似于JAVA中的StringBuffer对象。

 

var buffer = new Array();buffer[buffer.length] = "Hello";buffer[buffer.length] = " World"; buffer.join("");测试

利用数组join方法连接字符串的好处在于它确确实实地提高了代码的效率。为了说明这个结论,作者做了一个测试,测试结果如下:

方法

浏览器

最小值

最大值

平均值

传统的字符串连接操作

IE 6

460ms

810ms

646ms

FF 1.5B1

15ms

47ms

26ms

利用数组的join方法

IE 6

15ms

32ms

26ms

FF 1.5B1

15ms

31ms

20ms

结论

在你的JavaScript应用中使用数组的join方法能够提高你的代码效率,给用户带来更加流畅的体验。

测试方法

function test1(){
var cycles = 10000; var tp1 = new Date().valueOf(); var buffer = ""; for (var i = 0; i < cycles; i++) buffer += "0123456789"; var tp2 = new Date().valueOf(); alert(tp2 - tp1); } function test2(){ var tp1 = new Date().valueOf(); var buffer = new Array(); for (var i = 0; i < cycles; i++) buffer[buffer.length] = "0123456789"; var str = buffer.join(""); var tp2 = new Date().valueOf(); alert(tp2 - tp1); }

 

转载于:https://www.cnblogs.com/SpringSmallGrass/archive/2013/04/26/3044075.html

你可能感兴趣的文章
strlen函数
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
nodejs fs路径
查看>>
javascript之数组操作
查看>>
TF-IDF原理
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
Eclipse 安装SVN插件
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>