听说string和stringBuilder在IE FireFox的速度上差很多,具体差多少也不知道.就做了下实验,并加入Opera发现有惊人的区别
测试环境: Windows XP sp2
IE 7.0.5730.11
FireFox 2.0.0 .6
Opera 9.23.8808
<script language="javascript" type="text/javascript"> var test = ''; var date1 = (new Date()).getTime(); for(var i=0;i<30000;i++){ test += 'test'; } var date2 = (new Date()).getTime(); document.writeln((date2-date1).toString() + '毫秒'); </script> |
结果
IE7 4750毫秒
FireFox 110毫秒
Opera 40毫秒
而且是循环越多次,效果越明显
接下来再试试StringBuilder
<script language="javascript" type="text/javascript"> var StringBuilder = function(){ this._array = new Array(); } StringBuilder.prototype.Append = function(str){ this._array.push(str); } StringBuilder.prototype.toString = function(){ return this._array.join(''); }
date1 =(new Date()).getTime(); var sb = new StringBuilder(); for(var i=0;i<30000;i++){ sb.Append('test'); } test = sb.toString(); date2 = (new Date()).getTime(); document.writeln((date2 - date1).toString() + '毫秒'); </script> |
结果
IE7 320毫秒
FireFox 140毫秒
Opera 100毫秒
可以看出,IE7差了很多,对于FireFox来说差不了多少,Opera反而更慢了.
两次都是Opera占优势, 关于FireFox和Opera两款软件的评测文章,网上也很多了,总体来说是各有千秋.
不过个人认为Opera和FireFox做得不够其他基于IE内核的浏览器人性化,如The World和Maxthon,这也是我在浏览网站时还是使用The World的原因.占资源小... 但开发和调试还是经常用FireFox和Opera