跳到主要内容

JavaScript switch 语句

提示
  1. switch语句的基本作用:JavaScript中的switch语句用于决策制定,根据表达式的结果执行相应的代码块。
  2. switch语句的结构switch语句包含多个case子句和一个可选的default子句,每个case后通常跟随一个break语句。
  3. switch语句的实际应用switch语句可用于创建简单的计算器、检查严格的值匹配,并且可以组合多个case来共享相同的代码。

JavaScript 的 switch 语句用于决策制定。

switch 语句评估一个表达式并执行与表达式结果相匹配的相应代码体。

switch 语句的语法是:

switch (变量 / 表达式) {
case1:
// case 1 的代码体
break;

case2:
// case 2 的代码体
break;

caseN:
// case N 的代码体
break;

default:
// default 的代码体
}

switch 语句在括号 () 内评估变量/表达式。

  • 如果表达式的结果等于 值1,则执行其代码体。
  • 如果表达式的结果等于 值2,则执行其代码体。
  • 这个过程继续进行。如果没有匹配的 case,则执行 default 的代码体。

注意:

  • break 语句是可选的。如果遇到 break 语句,则 switch 语句结束。
  • 如果没有使用 break 语句,则匹配 case 之后的 case 也会被执行。
  • default 子句也是可选的。

switch 语句的流程图

JavaScript 中 switch 语句的流程图

示例 1:使用 switch 语句的简单程序

// 使用 switch 语句的程序
let a = 2;

switch (a) {
case 1:
a = "one";
break;
case 2:
a = "two";
break;
default:
a = "not found";
break;
}
console.log(`值是 ${a}`);

输出

值是 two.

在上述程序中,表达式 a = 2 使用 switch 语句进行评估。

  • 表达式的结果与 case 1 进行比较,结果为 false
  • 然后 switch 语句进入第二个 case。这里,表达式的结果与 case 2 匹配。因此显示 The value is two。
  • break 语句终止块,程序的控制流程跳出 switch 块。

示例 2:在 switch 语句中进行类型检查

// 使用 switch 语句的程序
let a = 1;

switch (a) {
case "1":
a = 1;
break;
case 1:
a = "one";
break;
case 2:
a = "two";
break;

default:
a = "not found";
break;
}
console.log(`值是 ${a}`);

输出

值是 one.

在上述程序中,表达式 a = 1 使用 switch 语句进行评估。

  • 在 JavaScript 中,switch 语句严格检查值。因此表达式的结果与 case "1" 不匹配。
  • 然后 switch 语句进入第二个 case。这里,表达式的结果与 case 1 匹配。因此显示 The value is one。
  • break 语句终止块,程序的控制流程跳出 switch 块。

注意:在 JavaScript 中,switch 语句严格检查 case(必须是相同的数据类型)与表达式的结果。注意上面的例子中,1 不匹配 "1"

让我们编写一个程序,使用 switch 语句制作一个简单的计算器。

示例 3: 简易计算器

// 简易计算器程序
let result;

// 获取运算符输入
const operator = prompt("输入运算符(+、-、* 或 /): ");

// 获取操作数输入
const number1 = parseFloat(prompt("输入第一个数字: "));
const number2 = parseFloat(prompt("输入第二个数字: "));

switch (operator) {
case "+":
result = number1 + number2;
console.log(`${number1} + ${number2} = ${result}`);
break;
case "-":
result = number1 - number2;
console.log(`${number1} - ${number2} = ${result}`);
break;
case "*":
result = number1 * number2;
console.log(`${number1} * ${number2} = ${result}`);
break;
case "/":
result = number1 / number2;
console.log(`${number1} / ${number2} = ${result}`);
break;

default:
console.log("无效的运算符");
break;
}

输出

输入运算符: +
输入第一个数字: 4
输入第二个数字: 5
4 + 5 = 9

在上述程序中,系统会提示用户输入 +-* 或 / 运算符以及两个操作数。然后,switch 语句根据用户输入执行相应的案例。

JavaScript switch 语句中的多重案例

在 JavaScript 的 switch 语句中,可以将多个案例组合起来共享相同的代码。

示例 4: 包含多重案例的 switch

// 多重案例的 switch 程序
let fruit = "apple";
switch (fruit) {
case "apple":
case "mango":
case "pineapple":
console.log(`${fruit} 是一种水果。`);
break;
default:
console.log(`${fruit} 不是一种水果。`);
break;
}

输出

apple 是一种水果。

在上述程序中,多个案例被分组。所有被分组的案例共享相同的代码。

如果 fruit 变量的值是 mangopineapple,输出结果将是一样的。

推荐阅读