文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>真相是什么?

真相是什么?

时间:2011-03-18  来源:simayixin

试看如下代码如何优化?
var arr = [....];
for(var i=0;i<arr.length;i++){ //pass }
好吧,不止一次,我们都会在各种书籍博客中看到如下做法:
var arr = [....];
for(var i=0,l=arr.length;i<l;i++){ //pass }
恩,缓存了length,一切看起来那么美好。然而实践总是检验真理的唯一标准,我们做2个测试,看看世界到底因此美好了多少。(如下请点击Test按钮)
<script> var span = function(fn){ var start = (new Date).getTime() ,end; fn(); end = (new Date).getTime(); return end - start; }; var t = span(function(){ var arr = [] ,arr1 = []; for(var i=0;i<100000;i++){ arr.push(i); } for(var i=0;i<arr.length;i++){ arr1.push(i); } }); alert(t); </script> Test
<script> var span = function(fn){ var start = (new Date).getTime() ,end; fn(); end = (new Date).getTime(); return end - start; }; var t2 = span(function(){ var arr = [] ,arr1 = []; for(var i=0;i<100000;i++){ arr.push(i); } for(var i=0,l = arr.length;i<l;i++){ arr1.push(i); } }); alert(t2); </script> Test ok, 每个例子中我们都先构造一个拥有10w个元素的数组(已经很大了),然后我们用上下2中方式进行遍历。最后会alert出分别用了多少时间。 请大家分别尝试ie6,7,8,9  ,chrome,ff,opera等等各种浏览器。

 

ok,测试完毕(假设您分别进行了测试),那么结论呢?即使是ie6这种被大家所诟病的浏览器所表现出来的差异也不过仅仅在10多ms, 请注意这是在10w个元素的情况下,其他牛叉浏览器就不多说了。

 

最后,程序的性能永远不会出在这种吹毛求疵的地方。

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载