字符串和正则表达式

  1. 字符串连接
    1. +与+=操作符
    2. 数组项合并
    3. String.prototype.concat
  2. 正则表达式优化

字符串连接

我们可以用很多方法来连接字符串,比如+,+=,arry.join(“”)还有 string.concat。当量很少的时候,运算速度没有什么区别,但是一旦字符串的长度和数量增大了之后,一些方法开始体现出优势了。

+与+=操作符

这两个符号其实性能已经很好了,除了 IE7 及以下的版本,老版本的 IE 字符串每次都要新建一个新的字符串的,很烂。

但是我们可以使用一些技术来更好,比如:

str += "aa" + "bb";
//这一句左边就会多创建一个临时的字符串
str = str + "aa" + "bb";
//这句话执行的时候浏览器就会为了左边的str分配更多的内存,避免了重复的拷贝字符串

数组项合并

大多数浏览器中,数组项合并比其他的字符串连接更慢,但是在 IE7 以及更早的版本,这个是唯一高效的了。因为当将所有的数组元素连接在一起的时候,浏览器会分配足够的内存来存放整个字符串,而不会傻傻地不停地进行拷贝了。

String.prototype.concat

这个方法蛮灵活的,能够接收任意数量的参数,但是多数情况下,使用这个比简单的+和+=效果更差,与数组项很类似,但是比数组项会慢一点。

正则表达式优化

tudo:这里先不看了,因为使用的比较少


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:字符串和正则表达式

文章字数:394

本文作者:泽鹿

发布时间:2019-08-28, 16:45:23

最后更新:2019-08-28, 16:45:23

原始链接:http://panyifei.github.io/2019/08/28/读书笔记/高性能Javascript/5章字符串和正则表达式/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏