字符串和正则表达式
字符串连接
我们可以用很多方法来连接字符串,比如+,+=,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" 转载请保留原文链接及作者。