JavaScript中的break、continue和return

JavaScript中break、continue和return都可以结束循环,其中break和continue只能用在for循环、while循环和do while循环中,而return只能用在函数体内,在函数外使用return会报错。

break:
结束循环,只能结束离break最近的那个循环。break结束循环后循环体内break后面的代码不会继续运行,如果是嵌套循环,break只能结束与之最近的那层循环。

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

上面代码最后输出为:
0
1
2
在i===3条件满足的时候break会结束循环。

function f() {
        for (let i = 0; i < 5; i++) {
            for (let j = 0; j < 6; j++) {
                if (j === 3) {
                    break;
                }
                console.log("j==" + j);
            }
            console.log("i==" + i);
        }
    }
f();

上面代码中break在内层循环for (let j = 0; j < 6; j++)中,break只能结束与之最近的循环,也就是上面的内层循环,所以上面代码j每次只能打印出0、1、2一共打印5次,而i则可以打印0-4。

continue:
结束当前循环,继续下次循环。continue只能结束当前那一次循环,循环体如果还没循环完还会继续下一次循环。

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

当i===3条件满足的时候使用了continue结束了本次循环,所以i等于3这次循环执行不到打印的地方,而循环体没循环完会继续下一次的循环,所以上面代码最后会打印出:
0
1
2
4

return:
return不仅会结束循环而且return在结束的时候还可以携带返回值。即便是在嵌套循环中return也会结束整个循环。与break不一样,break之后结束与之最近的那个循环体。

function f1() {
        for (let i = 0; i < 5; i++) {
            for (let j = 0; j < 6; j++) {
                if (j === 3) {
                    return;
                }
                console.log(j);
            }
            console.log(i);
        }
    }
    f1();

上面代码在内层循环中j===3的时候return,这个时候不仅结束了for (let j = 0; j < 6; j++)这个内层循环,外层循环也会一起结束,即使函数f1中在for循环后面还有代码也不会执行到。上面代码打印出:
0
1
2

function f1() {
        for (let i = 0; i < 5; i++) {
            for (let j = 0; j < 6; j++) {
                if (j === 3) {
                    return;
                }
                console.log(j);
            }
            console.log(i);
        }
        console.log("f1");
    }
    f1();

上面代码依然打印出:
0
1
2
console.log(“f1”);这句代码执行不到。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值