switch-case

547 阅读1分钟

switch-case分支结构

1.语法

jsswitch(表达式){	*// 不是布尔类型:是一个确定的变量*
    case1:	 // 值1,值2...都是字面量
        表达式的结果 === 值1,需要执行的代码
        break;
    case2:
        表达式的结果 === 值2,需要执行的代码
        break;
    case3:
        表达式的结果 === 值3,需要执行的代码
        break;
    .......
    default:
        表达式的结果和上面所有的case后面的值都不全等,则会执行这里的代码
        break;
}

2.注意事项

  1. 表达式的结果一定要和值是全等的结果 ===
  2. break的作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透
    • 穿透:从上一个case代码块执行到下一个case代码块
    • break关键字的作用就是防止穿透
  3. default语句可以写在任何地方,也可以省略,但是一般写在最后,这是一种代码规范
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /**
     switch-case分支结构:常用于值匹配
        * 匹配:全等的关系

     * switch(条件值){
            case 值1:
                条件值 === 值1,需要执行的代码
                break;
           case 值2:
                条件值 === 值2,需要执行的代码
                break;
           case 值3:
                条件值 === 值3,需要执行的代码
                break;
            .......
           default:
                条件值和上面所有的case后面的值都不全等,则会执行这里的代码
                break;
        }

     # */switch语句注意事项
     * 1.表达式的结果要和值一定是全等的关系===
     * 2.break作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透
        * 穿透:从上一个case代码快执行到下一个case代码快
        * break关键字的作用就是防止穿透
     * 3.default语句可以写在任何地方,也可以省略,但是一般写在最后,这是一种代码规范
   

    //示例:用户输入黑马学科编号,告诉用户学习什么学科  1-前端  2-PHP  3-java  4-UI
    let subject= +prompt("请输入您要报名的学科编号,1-前端  2-PHP  3-java  4-UI");
    switch (subject){
        case  1:
            alert("恭喜你选择了2020年最有钱途的学科!");
            break;
        case  2:
            alert("选择了PHP,臭流氓!");
            break;
        case  3:
            alert("选择了Java,请问植发多少钱一根?");
            break;
        case  4:
            alert("未来的UI视觉交互设计师");
            break;
        default :
            alert("脑子有包");
            break;
    }
</script>
</body>
</html>

switch-case穿透用法

  • 合理穿透:多种值需要执行相同代码
<script>
  /**合理穿透:当存在多种值需要执行相同代码时使用穿透可以节省代码
   * 用户输入某一个月份,告诉用户这个月份属于什么季节
   * 12,1,2 冬季
   * 3,4,5 春季
   * 6,7,8 夏季
   * 9,10,11 秋季
   */
  let month = +prompt("请输入月份");
  switch (month){
      case 12:
      case 1:
      case 2:
          alert("冬季");
          break;
      case 3:
      case 4:
      case 5:
          alert("春季");
          break;
      case 6:
      case 7:
      case 8:
          alert("夏季");
          break;
      case 9:
      case 10:
      case 11:
          alert("秋季");
          break;
      default:
          alert("你来自火星吧?");
          break;
  }

</script>