0
点赞
收藏
分享

微信扫一扫

【JS】122-重温基础:循环和迭代

【JS】122-重温基础:循环和迭代_i++

本文是 重温基础 系列文章的第三篇,今天想起鬼脚七的一句话:人不一定自由,但思想一定是自由的。思想没有对和错,也没有高和低,只有不同。了解一个人可以去了解他的思想。 。

本章节复习的是JS中的循环语句,让我们能更快速且简单的完成一些需求。

首先我们要知道:循环实际上就是把一个事情重复n次执行,也有可能是0次,JS中有以下几种循环语句类型:

  • for​语句
  • do...while​语句
  • while​语句
  • labeled​语句
  • break​语句
  • continue​语句
  • for...in​语句
  • for...of​语句

1. for语句

重复执行 ​for​​的条件语句,直到循环条件为 ​false​退出循环:

  1. ​var a = 1;​
  2. ​for ( a < 3){​
  3. ​    a ++;​
  4. ​}​

这个语句大概执行了以下操作:

  • 1.定义并初始化一个变量 ​a​​的值为 ​1​;
  • 2.执行循环语句,条件为当 ​a<3​​的时候, ​a​每次递增 ​1​;
  • 3.返回第2步继续循环;
  • 4.当 ​a​​在等于4的时候,不满足循环条件 ​a<3​,然后退出循环;
    其他例子:
  1. ​// 求数组中所有值的和​
  2. ​var a = [ 1, 3, 4, 6];​
  3. ​var sum = 0;​
  4. ​for (var i = 0; i < a.length; i++){​
  5. ​    sum += a[i];​
  6. ​}​
  7. ​sum; // 14​

2. do...while语句

重复执行 ​do​​的条件,直到不符合 ​while​的条件,退出循环:

  1. ​do {​
  2. ​  a += 1;​
  3. ​  console.log(a);​
  4. ​} while (a < 5);​

3. while语句

重复执行 ​while​​的条件,直到 ​while​​的条件为 ​false​,退出循环:

  1. ​var a = 0;​
  2. ​var b = 0;​
  3. ​while (a < 5){​
  4. ​    a ++;​
  5. ​    b += a;​
  6. ​}​
  7. ​// a => 5; b => 15​

4. labeled语句

用来标识一个程序位置的标识符,如标识一个循环,并在 ​break​​或 ​continue​中指出中国标识符,来停止这个循环。

  1. ​var a = [1, 2, 3, 4, 5];​
  2. ​labelName:​
  3. ​for(var i = 0 ;i< a.length; i++){​
  4. ​    console.log(i);​
  5. ​    if(i > 1){​
  6. ​        break labelName;​
  7. ​    }​
  8. ​}​
  9. ​// 0​
  10. ​// 1​
  11. ​// 2​

5. break语句

用于终止一个循环,还可以在 ​switch​中终止,通常这么使用:

  • 终止一个循环:
  1. ​for(var i = 0 ;i< a.length; i++){​
  2. ​    if(a[i] == 1){​
  3. ​        break;​
  4. ​    }​
  5. ​}​
  • 终止一个label
  1. ​leo:​
  2. ​for(var i = 0 ;i< a.length; i++){​
  3. ​    for(var j = 0 ;j< a.length; j++){​
  4. ​        if(a[i] == a[j]){​
  5. ​            break leo;​
  6. ​        }​
  7. ​    }​
  8. ​}​

6. continue语句

用来跳过当前循环,进入下个循环,可以使用在 ​while​​、 ​do...while​​、 ​for​​或者 ​label​语句:

  • 有使用 ​continue
  1. ​var a = 0;​
  2. ​var b = 0;​
  3. ​while (a < 5 ){​
  4. ​    a ++;​
  5. ​    if(a == 2){​
  6. ​        continue;​
  7. ​    }​
  8. ​    b += a;​
  9. ​    console.log(b);​
  10. ​}​
  11. ​// 1 4 8 13​
  • 没有使用 ​continue
  1. ​var a = 0;​
  2. ​var b = 0;​
  3. ​while (a < 5 ){​
  4. ​    a ++;​
  5. ​    if(a == 2){​
  6. ​        // continue;​
  7. ​    }​
  8. ​    b += a;​
  9. ​    console.log(b);​
  10. ​}​
  11. ​// 1,3,6,10,15​

7. for...in语句

通常用于遍历一个对象的所有可枚举的属性,执行指定方法:

  1. ​var a = [​
  2. ​    {name : 'leo'},​
  3. ​    {name : 'pingan'},​
  4. ​    {name : '平安'},​
  5. ​]​
  6. ​for(var k in a){​
  7. ​    // a为循环对象 k为当前指针位置​
  8. ​    console.log(a[k]);​
  9. ​}​

8. for...of语句

通常用于遍历一个可迭代对象(包括 ​Array​​, ​Map​​, ​Set​​和参数对象 ​arguments​等),执行指定方法:

  1. ​var a = [1, 2, 5];​
  2. ​for(var k in a){​
  3. ​    console.log(k);   // k 为当前元素的下标​
  4. ​}​
  5. ​for(var m of a){​
  6. ​    console.log(m);   // m 为当前元素的值​
  7. ​}​

参考资料

1.MDN 循环和迭代

【JS】122-重温基础:循环和迭代_循环语句_02



举报

相关推荐

0 条评论