JS 字符串拼接 性能差异效果图JS 字符串拼接关于执行效率的问题,大家早已知晓,但是可能好多人好没真正看见过效果到底有多麽明显,今天终于亲眼见到传说中的“Js性能差异效果”。如下图:
上面这幅图可能好多人都在浏览网页时见过这样的提示信息。为什么呢?怎么会有出现这样的提示框!?今天我真的遇见了这样的情况,原来还是这个老问题造成的。
出现这种情况的代码实现是:在循环上进行字符串拼接,并在每一次拼接完成后加入复杂的对象操作,以提高循环对性能方面的要求(真的是这样)。
呵呵,真的是这样,它终于崩溃了,在循环途中,ie提示我们选择是否中断执行。
---------------------------
Windows Internet Explorer
---------------------------
停止运行此脚本吗?
此页面上的脚本造成 Web 浏览器运行速度减慢。
如果继续运行,您的计算机将可能
停止响应。
---------------------------
是(Y) 否(N)
---------------------------
拼接字符串
1、str+='string'号拼接。在IE6中效率极其低下
2、push('string') 数组保存,join('')拼接。
3、array[array.length]='string' 数组保存,join('')拼接。(强烈推荐这种做法,虽然多些了几个字符)
不同引擎下的效率总结:
在FF及IE8中直接用+号拼接的方式还是效率的最高的方式,其它情况下该方式是最慢的。
数组拼接的方式里arr[arr.length]=''的方式是快于push方式的。