- /*
- * 优化循环
- */
- //优化前
- for(var i=0; i < items.length; i++){ //判断条件:(1)i<items.length; (2)i<items.length == true;
- process(items[i]);
- }
- //优化后
- var count = items.length; //把length属性放在局部变量里
- for(var i=count;i--;){ //判断条件:i == ture ; (当i=0时,此处 i 会转换为false)
- process(items[i]);
- }
说明:笔记来自《高性能javascript》
带“判断条件”的注释看起来似乎有问题,但细想也对。 i<items.length的判断结果是true或false,如果是ture才调用process()。这里的判断条件实际是分步的,如果画上流程图就清楚了。

本文介绍了一种优化JavaScript循环的方法,通过将数组长度赋值给局部变量并逆向迭代,减少性能开销。此技巧来源于《高性能JavaScript》,有助于提高网页应用性能。

725

被折叠的 条评论
为什么被折叠?



