switch-case穿透现象的实际应用

1,047 阅读1分钟

switch-case语法

switch-case是属于js中的分支结构 语法:

switch(匹配值/变量){
                case1 :
                    值1 === 匹配值,需要执行的代码
                    break
                case2 :
                    值2 === 匹配值,需要执行的代码
                    break
                ......
                default :
                    匹配值与上面所有case的值不匹配(全等),需要执行的代码
                    //末尾的break可以省略
                    break
            }

注意点:

  • 注意小括里面的匹配值和case里面的值是全等数据类型也要相等,应该提前进行显示数据转换
  • 不能省略break关键字,break关键字作用是结束switch语句,最后default里面的break可以省略
  • switch-case主要应用于固定值匹配

switch-case穿透

switch-case中的break如果省略则会发生穿透现象: 代码从上一个case无条件执行到下一个case(代码依次往下执行) ,直到下一个break或者代码末尾为止

代码太冗余了,维护不太方便,利用switch-case的穿透,来减少代码,应用场景:多种值需要执行相同的代码 下面的例子:输入3、4、5提示春天,输入6、7、8提示夏天,输入9、10、11提示秋天、输入12、1、2提示冬天

let season = +prompt("请输入月份")
    switch (season) {
      case 3:
      case 4:
      case 5:
        alert("春天")
        break
      case 6:
      case 7:
      case 8:
        alert("夏天")
        break
      case 9:
      case 10:
      case 11:
        alert("秋天")
        break
      case 12:
      case 1:
      case 2:
        alert("冬天")
        break
      default:
        alert("月份不合适")
    }