“switch“ 语句用法

语法:

switch (expression) {
    case value1:
        // code block for value1
        break;
    case value2:
        // code block for value2
        break;
    // more cases...
    default:
        // code block if no cases match
}
  • expression: 需要进行比较的值或表达式。
  • case value: 每个 case 后面跟着一个值,与 expression 的结果进行比较。
  • break: 跳出 switch 语句,防止执行后续的 case 代码块。如果省略 break,代码会继续执行到下一个 case,这种行为称为 "fall-through"。
  • default: 可选的,用于在没有匹配任何 case 时执行的代码块。

应用场景

  • 多个条件检查: 当需要根据一个变量的不同值来执行不同的代码块时,switch 语句可以使代码更加简洁明了。
  • 取代多个 if-else 语句: 当有很多条件需要判断时,使用 switch 语句通常比使用多个 if-else 语句更具可读性。

示例代码

示例 1: 简单的 switch 语句

let day = 3;
let dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday";
        break;
    case 4:
        dayName = "Thursday";
        break;
    case 5:
        dayName = "Friday";
        break;
    case 6:
        dayName = "Saturday";
        break;
    case 7:
        dayName = "Sunday";
        break;
    default:
        dayName = "Invalid day";
}

console.log(dayName); // Output: Wednesday

在这个例子中,switch 语句根据 day 的值来确定 dayName。因为 day 是 3,所以 dayName 被设置为 "Wednesday"。

示例 2: 使用 switch 处理字符串值

let fruit = "apple";
let color;

switch (fruit) {
    case "apple":
        color = "red";
        break;
    case "banana":
        color = "yellow";
        break;
    case "grape":
        color = "purple";
        break;
    default:
        color = "unknown";
}

console.log(color); // Output: red

在这个例子中,switch 语句根据 fruit 的值来确定 color。因为 fruit 是 "apple",所以 color 被设置为 "red"。

示例 3: 不使用 break 造成的 "fall-through"

let grade = 'B';
let message;

switch (grade) {
    case 'A':
        message = 'Excellent';
        break;
    case 'B':
        message = 'Good';
        // Note: No break here, so it will fall through
    case 'C':
        message += ' - Average';
        break;
    default:
        message = 'Unknown grade';
}

console.log(message); // Output: Good - Average

在这个例子中,grade 为 'B',所以 message 首先被设置为 'Good',由于没有 break,执行继续到 case 'C'message 被追加了 ' - Average'。如果你希望在每个 case 后面结束执行,需要确保添加 break

总结

  • 技术switch 语句通过与表达式的结果进行比较,执行匹配的代码块。使用 break 语句来防止不必要的代码执行。
  • 应用场景: 多条件检查、替代多个 if-else 语句。
  • 示例代码: 提供了基于数字和字符串的 switch 语句示例,展示了如何处理不同的条件,并说明了 "fall-through" 行为。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值