JS编程建议——33:优化循环结构

建议33:优化循环结构
循环是最浪费资源的一种流程。循环结构中一点小小的损耗都会被成倍放大,从而影响程序运行的效率。下面从以下几个方面介绍如何优化循环结构,从而提高循环结构的执行效率。
(1)优化结构
循环结构常常与分支结构混用在一起,因此如何嵌套就非常讲究了。例如,设计一个循环结构,结构内的循环语句只有在特定条件下才被执行。使用一个简单的例子来演示,其正常思维结构如下:

  1. var a = true;
  2. for(var b = 1; b < 10; b ++ ) { // 循环结构
  3. if(a == true) { // 条件判断
  4. }
  5. }
    很明显,在这个循环结构中if语句会被反复执行。如果这个if语句是一个固定的条件检测表达式,也就是说,如果if语句的条件不会受循环结构的影响,那么不妨采用如下的结构来设计:
  6. if(a == true) { // 条件判断
  7. for(var b = 1; b < 10; b ++ ) {// 循环结构
  8. }
  9. }
    这样,if语句只被执行一次,如果if条件不成立,则直接省略for语句的执行,从而使程序的执行效率大大提高。但是,如果if条件表达式受循环结构的制约,就不能够采用这种结构嵌套了。

(2)避免不必要的重复操作
在循环体内经常会存在不必要的损耗。例如,在下面的这个示例中,在循环内声明数组,然后读取数组元素的值。

  1. for(var b = 0; b < 10; b ++ ) {
  2. var a = new Array(1,2,3,4,5,6,7,8,9,10);
  3. alert(a[b]);
  4. }
    显然,在这个循环结构中,每循环一次都会重新定义数组,这样的设计极大地浪费了资源。如果把这个数组放在循环体外会更加高效,例如:
  5. var a = new Array(1,2,3,4,5,6,7,8,9,10);
  6. for(var b = 0; b < 10; b ++ ){
  7. alert(a[b]);
  8. }
    在日常开发中,类似这样不必要且重复的事情常常会浪费大量的系统资源,其实只要稍微留意,此类问题就会避免。

(3)妥善定义循环变量
对于for循环来说,它主要利用循环变量来控制整个结构的运行。当循环变量仅用于结构内部时,不妨在for语句中定义循环变量,这样能够优化循环结构。例如,计算1~100数字的和:

  1. var s = 0;
  2. for(var i = 0; i <= 100; i ++ ) {
  3. s += i;
  4. }
  5. alert(s);
    显然下面的做法就不是很妥当,因为单独定义循环变量,实际上增大了系统开销。
  6. var i = 0;
  7. var s = 0;
  8. for(i = 0; i <= 100; i ++ ) {
  9. s += i;
  10. }
  11. alert(s);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值