JavaScript switch语句

JavaScript 中的 switch 语句用于根据表达式的值执行不同的代码块。它的语法结构如下:

switch (expression) {
  case value1:
    // 如果 expression 等于 value1,执行这里的代码块
    break;
  case value2:
    // 如果 expression 等于 value2,执行这里的代码块
    break;
  // 可以有多个 case 子句
  default:
    // 如果 expression 与所有 case 值都不匹配,执行这里的代码块
}
  • expression 是一个表达式,将被评估并与每个 case 标签进行比较。
  • case 标签包含要与 expression 比较的值。
  • 如果 expression 的值与某个 case 标签的值相匹配,则执行相应的代码块。
  • break 语句用于终止 switch 语句,防止继续执行后续 case 代码块。
  • default 标签用于指定当 expression 的值与所有 case 值都不匹配时要执行的默认代码块。

示例:

var color = "red";
switch (color) {
  case "red":
    console.log("红色");
    break;
  case "blue":
    console.log("蓝色");
    break;
  case "green":
    console.log("绿色");
    break;
  default:
    console.log("未知颜色");
}

在这个示例中,根据变量 color 的值,执行相应的代码块。如果 color 的值是 “red”,则输出 “红色”;如果是 “blue”,则输出 “蓝色”;如果是 “green”,则输出 “绿色”;如果与所有 case 值都不匹配,则输出 “未知颜色”。

switch 语句可以使代码更清晰,适用于多个条件需要根据不同值执行不同代码块的情况。

break 关键字

在 JavaScript 中,break 是一个关键字,用于在循环语句(如 forwhiledo...while)或 switch 语句中立即终止当前的循环或代码块的执行,并跳出该循环或代码块。

在循环语句中的用法:

for (var i = 0; i < 10; i++) {
    if (i === 5) {
        break; // 当 i 等于 5 时,立即终止循环
    }
    console.log(i);
}
// 输出:0 1 2 3 4

在 switch 语句中的用法:

var color = "red";
switch (color) {
  case "red":
    console.log("红色");
    break; // 立即终止 switch 语句的执行
  case "blue":
    console.log("蓝色");
    break;
  default:
    console.log("未知颜色");
}
// 输出:红色

在上述示例中,break 关键字被用于立即退出循环或 switch 语句的执行。在循环语句中,当条件满足时,break 会使程序立即跳出当前的循环,不再执行循环内的任何代码。在 switch 语句中,break 会使程序立即跳出 switch 语句的执行,并继续执行 switch 语句后面的代码。

需要注意的是,如果 break 关键字出现在 switch 语句中的 casedefault 语句块之外,它将被视为无效,并且不会产生任何效果。

default  关键字

在 JavaScript 中,defaultswitch 语句中的一个关键字,用于指定当 switch 表达式的值与所有 case 标签都不匹配时应执行的默认代码块。default 关键字通常用于 switch 语句的末尾,并且是可选的。

default 关键字的语法结构如下:

switch (expression) {
  case value1:
    // 如果 expression 等于 value1,执行这里的代码块
    break;
  case value2:
    // 如果 expression 等于 value2,执行这里的代码块
    break;
  // 可以有多个 case 子句
  default:
    // 如果 expression 与所有 case 值都不匹配,执行这里的代码块
}
  • default 关键字用于指定当 expression 的值与所有 case 值都不匹配时要执行的默认代码块。
  • 如果 expression 的值与任何一个 case 标签的值都不匹配,并且存在 default 代码块,则执行 default 代码块中的语句。
  • 如果 expression 的值与任何一个 case 标签的值都不匹配,并且不存在 default 代码块,则 switch 语句不执行任何操作。

示例:

var color = "purple";
switch (color) {
  case "red":
    console.log("红色");
    break;
  case "blue":
    console.log("蓝色");
    break;
  default:
    console.log("未知颜色");
}
// 输出:未知颜色

在这个示例中,由于 color 的值 “purple” 与任何一个 case 标签的值都不匹配,因此执行 default 代码块中的语句,输出 “未知颜色”。

多种情况

在 JavaScript 的 switch 语句中,有时候我们需要在一个 case 标签下执行多种情况的代码。为了实现这个目的,可以将多个 case 标签的值合并在一起,以使它们执行相同的代码块。示例如下:

var fruit = "banana";
switch (fruit) {
  case "apple":
  case "banana":
  case "cherry":
    console.log("水果");
    break;
  case "carrot":
  case "broccoli":
  case "potato":
    console.log("蔬菜");
    break;
  default:
    console.log("未知");
}
// 输出:水果

在这个示例中,如果 fruit 的值是 “apple”、”banana” 或 “cherry” 中的任何一个,都会执行 case "apple": 下的代码块,因为它们的 case 标签值都合并在一起,执行的代码块相同。同样地,如果 fruit 的值是 “carrot”、”broccoli” 或 “potato” 中的任何一个,都会执行 case "carrot": 下的代码块。

使用多种情况执行相同的代码块可以使 switch 语句更加简洁和易读,避免重复的代码。需要注意的是,在合并多个 case 标签时,它们的值应该是执行相同代码块的值,否则可能会产生意外的结果。

Leave a Reply

Your email address will not be published. Required fields are marked *