`
weimou66
  • 浏览: 1245321 次
文章分类
社区版块
存档分类
最新评论

【简明笔记】循环条件的优化

 
阅读更多
[javascript] view plaincopy
  1. /*
  2. *优化循环
  3. */
  4. //优化前
  5. for(vari=0;i<items.length;i++){//判断条件:(1)i<items.length;(2)i<items.length==true;
  6. process(items[i]);
  7. }
  8. //优化后
  9. varcount=items.length;//把length属性放在局部变量里
  10. for(vari=count;i--;){//判断条件:i==ture;(当i=0时,此处i会转换为false)
  11. process(items[i]);
  12. }

说明:笔记来自《高性能javascript》

带“判断条件”的注释看起来似乎有问题,但细想也对。i<items.length的判断结果是true或false,如果是ture才调用process()。这里的判断条件实际是分步的,如果画上流程图就清楚了。


[javascript] view plaincopy
  1. /*
  2. *优化循环
  3. */
  4. //优化前
  5. for(vari=0;i<items.length;i++){//判断条件:(1)i<items.length;(2)i<items.length==true;
  6. process(items[i]);
  7. }
  8. //优化后
  9. varcount=items.length;//把length属性放在局部变量里
  10. for(vari=count;i--;){//判断条件:i==ture;(当i=0时,此处i会转换为false)
  11. process(items[i]);
  12. }

说明:笔记来自《高性能javascript》

带“判断条件”的注释看起来似乎有问题,但细想也对。i<items.length的判断结果是true或false,如果是ture才调用process()。这里的判断条件实际是分步的,如果画上流程图就清楚了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics