JS-switch语句

switch语句

格式:

switch(表达式){
        case 表达式A:
        语句A;
        break;
case 表达式B:
        语句B;
        break;
… …
default:
        前面所有case都不匹配执行的代码;
        break;
}

let num = parseInt(prompt('请输入数字:'));
let day = num % 7;

switch (day) {
    case 1:
        alert('星期一');
        break;
    case 2:
        alert('星期二');
        break;
    case 3:
        alert('星期三');
        break;
    case 4:
        alert('星期四');
        break;
    case 5:
        alert('星期五');
        break;
    case 6:
        alert('星期六');
        break;
    case 7:
        alert('星期日');
        break;
    default :
        alert('其他');
        break;
}

特点
  • 从上至下的依次判断每一个case是否和()中表达式的结果相等, 如果相等就执行对应case后面的代码, 如果前面所有的case都不匹配, 那么就会执行default后面的代码
  • 所有的case和default只有一个会被执行, 并且只会被执行一次

注意
  • case判断的是=== , 而不是== (不仅数值相同, 数据类型也要相同)
let num = 123;
switch (num) {
    case "123":
        console.log("字符串123");	// 因为判断的是===, 数据类型不同不执行
        break;
    case 123:
        console.log("数值的123");	// 数据类型相同执行
        break;
    default:
        console.log("Other");	// 不执行
        break;
}
  • ()中可以是常量也可以是变量还可以是表达式
switch (num) { // 变量
    case 123:
        console.log("数值的123");	// 执行
        break;
    default:
        console.log("Other");
        break;
}


switch (123) { // 常量
    case 123:
        console.log("数值的123");	// 执行
        break;
    default:
        console.log("Other");
        break;
}


switch (122 + 1) { // 表达式
    case 123:
        console.log("数值的123");	// 执行
        break;
    default:
        console.log("Other");
        break;
}
  • case后面可以是常量也可以是变量还可以是表达式
let num = 123;
switch (123) {
    // case 123: // 常量
    // case num: // 变量
    case 100 + 23: // 表达式
        console.log("数值的123");	// 条件是 常量 变量 表达式 都会执行
        break;
    default:
        console.log("Other");
        break;
}
  • break的作用是立即结束整个switch语句
    在switch语句中一旦case或者default被匹配, 那么其它的case和default都会失效
  • default不一定要写在最后
    switch中的default无论放到什么位置, 都会等到所有case都不匹配再执行
  • 和if/else中的else一样, default也可以省略
let num = 7;
switch (num) {
   case 1:
       console.log("1");
       break;
   case 2:
       console.log("2");
       break;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值