测试JavaScript字符串处理性能
主要是测试了数组 push()方法与直接相加这两种在JS引擎上性能的实际处理情况。程序代码简单明了,没什么好解释的:
var oldtime = new Date().getTime(); var str = []; for(i=0;i<100000;i++) { str.push('abcabcabcabcabcabcabcabcabcabcabcabc'); } var newtime = new Date().getTime(); var joinTime = (newtime - oldtime); var oldtime = new Date().getTime(); var str=''; for(i=0;i<100000;i++) { str += 'abcabcabcabcabcabcabcabcabcabcabcabc'; } var newtime = new Date().getTime(); var concatTime = (newtime - oldtime); alert("join / concat: " + (joinTime * 1.0 / concatTime));
注:循环次数必须足够大。
2010年1月22日更新:
请阅读yemoo写的文章:《再谈“字符串拼接”的效率》—ps.yemoo是2009年4月29日写的,本人又“火星”了。推荐文章中的方法:用 arr[arr.length]=’string’ 来存入。