switch……case中不使用break和使用break的区别!

在JavaScript中,switch语句通常用于基于某个表达式的不同值执行不同的代码块。每个case后面通常跟着一个break语句,用于终止switch语句的执行。如果没有break语句,控制流程可能会继续到下一个case,即使条件不匹配,这被称为滑动case或者case穿透。

使用break时的switch语句:

let value = 2;
 
switch (value) {
  case 1:
    console.log("Value is 1");
    break;
  case 2:
    console.log("Value is 2");
    break;
  case 3:
    console.log("Value is 3");
    break;
  default:
    console.log("Value is not 1, 2, or 3");
}

在上面的代码中,当value为2时,会执行case 2并在那里遇到break语句,因此不会继续执行case 3

如果移除break语句,代码将变成:

let value = 2;
 
switch (value) {
  case 1:
    console.log("Value is 1");
    break;
  case 2:
    console.log("Value is 2");
    // break; (break语句被移除)
  case 3:
    console.log("Value is 3");
    break;
  default:
    console.log("Value is not 1, 2, or 3");
}

在这种情况下,当value为2时,case 2case 3下的代码都会执行。这种行为称为case穿透。

总结:

  • 使用break时,每个case块都是互斥的,只有当条件匹配时才会执行。

  • 移除break时,若条件匹配,则会执行该case块及其后所有case块的代码,直到遇到break或者switch结束。这种行为称为case穿透或滑动case。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值