【重温基础】3.循环和迭代

简介: 【重温基础】3.循环和迭代


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

系列目录:

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

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

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

1.for语句

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

var a = 1;
for ( a < 3){
    a ++;
}

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

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

2.do...while语句

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

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

3.while语句

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

var a = 0;
var b = 0;
while (a < 5){
    a ++;
    b += a;
}
// a => 5; b => 15

4.labeled语句

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

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

5.break语句

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

  • 终止一个循环:
for(var i = 0 ;i< a.length; i++){
    if(a[i] == 1){
        break;
    }
}
  • 终止一个label
leo:
for(var i = 0 ;i< a.length; i++){
    for(var j = 0 ;j< a.length; j++){
        if(a[i] == a[j]){
            break leo;
        }
    }
}

6.continue语句

用来跳过当前循环,进入下个循环,可以使用在whiledo...whilefor或者label语句:

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

7.for...in语句

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

var a = [
    {name : 'leo'},
    {name : 'pingan'},
    {name : '平安'},
]
for(var k in a){
    // a为循环对象 k为当前指针位置
    console.log(a[k]);
}

8.for...of语句

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

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

参考资料

1.MDN 循环和迭代


本部分内容到这结束

Author 王平安
E-mail pingan8787@qq.com
博 客 www.pingan8787.com
微 信 pingan8787
每日文章推荐 github.com/pingan8787/…
JS小册 js.pingan8787.com


目录
相关文章
|
4月前
|
存储 搜索推荐 算法
Java数组全套深入探究——进阶知识阶段2、冒泡排序
Java数组全套深入探究——进阶知识阶段2、冒泡排序
65 0
|
30天前
|
Python
揭秘Python编程核心:一篇文章带你深入掌握for循环与while循环的奥秘!
【8月更文挑战第21天】Python中的循环结构——for循环与while循环,是编程的基础。for循环擅长遍历序列或集合中的元素,如列表或字符串;而while循环则在未知循环次数时特别有用,基于某个条件持续执行。本文通过实例展示两种循环的应用场景,比如用for循环计算数字平方和用while循环计算阶乘。此外,还通过案例分析比较了两者在处理用户输入任务时的不同优势,强调了根据实际需求选择合适循环的重要性。
38 0
|
4月前
代码之禅:在技术迭代中寻找平衡
【5月更文挑战第25天】 在软件开发的世界中,技术的迭代如同潮水般汹涌澎湃。本文将探讨如何在快速变化的技术浪潮中保持个人技能的竞争力和心态的平和。通过分享个人的实践经验,我们将一窥那些在技术演进过程中不断适应、学习和成长的策略,以及如何在这个过程中找到技术创新与内心平静之间的平衡点。
|
4月前
|
搜索推荐 Java 程序员
Java数组全套深入探究——进阶知识阶段1、选择排序
Java数组全套深入探究——进阶知识阶段1、选择排序
44 0
|
4月前
|
机器学习/深度学习 算法 vr&ar
【Python强化学习】动态规划法中策略迭代和值迭代求解冰湖问题实战(图文解释 附源码)
【Python强化学习】动态规划法中策略迭代和值迭代求解冰湖问题实战(图文解释 附源码)
118 0
|
前端开发
前端学习案例4-数组迭代方法4
前端学习案例4-数组迭代方法4
55 0
前端学习案例4-数组迭代方法4
|
前端开发
前端学习案例3-数组迭代方法3
前端学习案例3-数组迭代方法3
54 0
前端学习案例3-数组迭代方法3
|
前端开发
前端学习案例7-数组迭代方法7
前端学习案例7-数组迭代方法7
53 0
前端学习案例7-数组迭代方法7
|
前端开发
前端学习案例8-数组迭代方法8
前端学习案例8-数组迭代方法8
58 0
前端学习案例8-数组迭代方法8
|
前端开发
前端学习案例1-数组迭代方法1
前端学习案例1-数组迭代方法1
50 0
前端学习案例1-数组迭代方法1