javascript string字符串优化问题_javascript技巧
程序员文章站
2022-05-04 21:47:18
...
复制代码 代码如下:
结果不像一般的说法,用array会快。在ie9,8。ff,google,搜狗等ie核心的浏览器下测试了一下,确实在数量级100000以上的测试中array方法比用“+”的方法会慢。
1000000次的结果
ie第一次(大概,ie复制不了,图就不截了)
复制代码 代码如下:
array所用时间 890
str连接所用时间 450
ie可能是内存没有回收第二次点会弹出警告,并且时间用到1400和1200,点多几次后,+=的连接方式耗时回到400,难倒是array对象没有回收?打开任务管理器,再刷新一次ie浏览器,内存降了100多m,应该研究一下ie的javascript内存回收机制。
ff
复制代码 代码如下:
时间1: 1312102053720
时间2 1312102053842
时间3 1312102053882
array所用时间 122
str连接所用时间 40
google(也复制不了数据)
array所用时间 200
str连接所用时间 100
opera
时间1: 1312102258270
时间2 1312102258460
时间3 1312102258592
array所用时间 190
str连接所用时间 132
顺便说一下,在数据到5000000后ff抛出了个异常,应该是内存溢出了。。。(ps,不是很懂)
错误: uncaught exception: 8.375396749959738e-274
在ie下测试果断警告,再后来out of memory。
当然怎么大的数据连接,在现在的网页是不可能出现,数据处理应该是在后台做的。老师的主机不敢装这么多浏览器
其实是array的jion,太消耗时间。没有加入这一句之后opera,google就显示出array的优势:
opera结果:
复制代码 代码如下:
时间1: 1312101715553
时间2 1312101715622
时间3 1312101715749
array所用时间 69
str连接所用时间 127
[code]
ie结果
array所用时间700
str连接所用时间500
ff
[code]
时间1: 1312101925895
时间2 1312101925945
时间3 1312101925979
array所用时间 50
str连接所用时间 34
array所用时间17
str连接所用时间100
去查查jion的机制再写吧。
ps:浏览器版本
google12.0.742.122
ff5.0.1
opera11.50
ie8.0.6001.18702
pss:ie处理速度不给力
推荐阅读
-
简单总结JavaScript中的String字符串类型
-
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
-
JavaScript—字符串(String)用法
-
javascript json字符串到json对象转义问题
-
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
-
javascript正则表达式和字符串RegExp and String(一)
-
javascript正则表达式和字符串RegExp and String(二)
-
JavaScript string(字符串)查看变量的数据类型
-
String字符串匹配javascript 正则表达式
-
基于JavaScript 性能优化技巧心得(分享)