循环和迭代

for循环的通常结构如下

for (表达式1; 表达式2; 表达式3) {
    语句;
}
  1. 表达式1是可选的,若表达式1存在,则会执行表达式1。注意在整个循环过程中,表达式1只会执行一次,通常用于作循环变量的初始化
  2. 表达式2也是可选的,它用来作循环条件,当表达式2为真时,循环才会继续进行。若省略表达式2,则默认为真,注意;是不能省略的
  3. 表达式3也是可选的,通常用于作循环变量的迭代

for循环的执行流程通常如下所示
在这里插入图片描述下面是一个for循环的例子

for (let i = 0; i < 10; i++) {
    console.log(i);
}

这个例子在控制台打印数字0到9

do…while循环

do…while循环的结构如下

do {
    语句;
} while (条件表达式);

它的执行流程如下
在这里插入图片描述请注意,无论什么情况下,do…while循环都是至少会执行一次的

while循环

while (条件表达式) {
    语句;
}

它的执行流程如下
在这里插入图片描述# label语句

label:
	语句;

label语句通常和break语句以及continue语句配合使用,详情请参考break语句和continue语句部分

break语句

break语句有两种形式

break; // 结束离break语句最近的一层循环
break label; // 结束被对应label标记的循环

下面是两个例子

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;
    }
    
    console.log(i);
}

上面这个例子只会在控制台输出1到4,当i值为5的时候,循环终止

skip:
    for (let i = 0; i < 10; i++) {
        console.log(i);
        for (let j = 0; j < 10; j++) {
            if (j === 5) {
                break skip;
            }
        }
    }

上面这个例子只会输出0,因为当j等于5时,break语句会结束label为skip的for循环。

continue语句

continue语句作用与break语句类似,不同的是continue语句只会结束当前的这轮循环,下一轮循环会继续执行。它也有两种形式

continue;
continue label;

第一种形式,会立即结束离它最近的一轮循环,开始下一轮循环;第二种形式,会立即结束被标签名标记的循环,然后从这个循环开始执行下一轮循环

for (let i = 0; i < 3; i++) {
    console.log("Hello");
    if (i === 1) {
        continue;
    }
    console.log(i);
}

执行结果如下
在这里插入图片描述i===1时,因为执行了continue语句,所以在这轮循环中console.log(i)并不会执行。因此这轮循环中,控制台只输出Hello

带有label的continue语句,这里就不做过多赘述。请注意,非极其特殊的情况,请不要使用label语句,它对程序的可阅读性有着很大的负面影响。你能想象你原本只需要从中国到南极,但中途又让你去北极然后再去南极的疲累吗?

for…in语句和for…of语句

for...in语句的通常使用形式如下

for (variable in object)
  statement

for...of语句的通常使用形式如下

for (variable of object)
  statement

请注意for...in语句遍历的是对象的属性名,for...of语句遍历的是对象的属性值

a = [1, 3, 5, 7, 8];

for (i in a) {
    console.log(i); // 输出0 1 2 3 4
}

for (i of a) {
    console.log(i); // 输出1 3 5 7 8
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值