switch语句

本文详细介绍了JavaScript中的switch语句,包括其语法、运行机制和常见应用场景。通过实例展示了如何利用switch进行条件分支判断,如输出星座运势和计算不同月份的天数。同时,强调了break关键字的作用以及default标签的可选性。最后,总结了if语句、三元表达式和switch语句在实际工作中的适用场景。
摘要由CSDN通过智能技术生成

switch语句

开关语句允许一个程序求一个表达式的值,并且尝试去匹配表达式的值到一个 case 标签。如果匹配成功,这个程序执行相关的语句。

switch 语句语法

 switch (表达式) {
 case1:
  结构体1;
  break;
 case2:
  结构体2;
  break;
 ……
 default: 
  结构体n;
  break;
     }

switch 语句结构解析

  • switch:关键字表示开始进入一个开关语句。
  • 表达式:会求出一个具体的值,将这个值去与 {} 内部的 case 后面的值进行对比、匹配,如果值相等表示匹配成功。匹配相等时,方式是进行全等于匹配,不止值要相等,数据类型也要相等。
  • case:示例的意思,作为关键字后面必须跟一个空格,书写匹配的值。
  • case 后面的结构体:每个 case 匹配成功之后要执行的语句。
  • break:用于打断结构体,直接跳出程序,模拟跳楼现象。
  • default:相当于if语句中的 else,否则的情况,如果前面的 case 都不匹配,执行 default 后面的语句。

switch 语句运行机制

  • switch 语句首先会将小括号内的表达式计算出一个结果,用结果去匹配结构体内部的 case;
  • 从上往下进行匹配,如果匹配成功,会立即执行这个 case 后面的语句,直到遇到一个 break 跳出整个 switch 语句;
  • 如果前面的 case 没有匹配成功,会跳过 case 之间的语句,去匹配下一个 case,直到匹配成功,如果都不成功就执行 default 后面的语句。

案例1

输出星座运势

var xingzuo = prompt("请输入您的星座", "水瓶座")
switch (xingzuo) {
    case "白羊座":
        alert("hahahahhah开心");
        break;
    case "狮子座":
        alert("暴躁小狮子");
        break;
    case "双鱼座":
        alert("忧愁双鱼座");
        break;
    default:
        alert("对不起,找不到您的星座");
        break;
}

注意

  • default 可以不写,相当于 if 语句没有 else。
  • break 关键字:根据结构需要有时必须在每个 case 后面都要写,为了模拟跳楼现象,如果不写 break,对应的 case 后面的语句执行之后,不会跳出结构体,会继续想下执行其他 case 的后面的语句,直到遇到一个 break。
  • 可以利用 break 不写的情况制作一些特殊的案例

案例2

用户输入一个月份的数字,请返回给用户对应月份的天数。

var month = parseInt(prompt("请输入月份", "6"));
switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        alert("这个月有31天");
        break;
    case 2:
        alert("这个月有28/29天");
        break;
    default:
        alert("这个月有30天");
        break;
}

条件分支语句总结

  • 总结:实际工作中使用三种语句的情景。
  • if 语句:最常用的语句,所有的判断情况都能够书写。
  • 三元表达式:多用于给变量赋值根据条件二选一的情况。
  • switch 语句:多用于给一个表达式去匹配多种固定值可能性的情况。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值