javascript string字符串优化问题_javascript技巧
程序员文章站
2022-05-06 14:27:13
...
复制代码 代码如下:
结果不像一般的说法,用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 大数据相加的问题_javascript技巧
-
jQuery检测输入的字符串包含的中英文的数量_javascript技巧
-
浏览器解析js生成的html出现样式问题的解决方法_javascript技巧
-
js操作ajax返回的json的注意问题!_javascript技巧
-
JavaScript使用指针操作实现约瑟夫问题实例_javascript技巧
-
来自国外的页面JavaScript文件优化_javascript技巧
-
Javascript将string类型转换int类型_javascript技巧
-
用JavaScript实现字符串切分功能_javascript技巧
-
YUI Compressor压缩JavaScript原理及微优化_javascript技巧
-
javaScript 判断字符串是否为数字的简单方法_javascript技巧