JavaScript Switch 语句

x33g5p2x  于2022-04-14 转载在 Java  
字(2.6k)|赞(0)|评价(0)|浏览(246)

在本教程中,您将借助示例了解 JavaScript switch 语句。
    JavaScript switch 语句用于决策。
    switch 语句计算表达式并执行与表达式结果匹配的相应主体。
    switch 语句的语法是:

switch(variable/expression) {
    case value1:  
        // body of case 1
        break;

    case value2:  
        // body of case 2
        break;

    case valueN:
        // body of case N
        break;

    default:
        // body of default
}

switch 语句计算括号()内的变量/表达式。

  • 如果表达式的结果等于 value1,则执行其主体。
  • 如果表达式的结果等于 value2,则执行其主体。
  • 程序继续。如果没有匹配的 case,则执行 default 主体。

笔记:

  • break 语句是可选的。如果遇到 break 语句,switch 语句将结束。
  • 如果未使用 break 语句,则也会执行匹配的 case 之后的 case。
  • default 子句也是可选的。
switch 语句流程图

JavaScript switch 语句流程图

示例 1:使用 switch 语句的简单程序
// program using switch statement
let a = 2;

switch (a) {

    case 1:
        a = 'one';
        break;
    case 2:
        a = 'two';
        break;
    default:
        a = 'not found';
        break;
}
console.log(`The value is ${a}`);

输出

The value is two.

在上面的程序中,用 switch 语句计算表达式 a=2。

  • 表达式的结果用 case 1 计算,结果为 false。
  • 然后 switch 语句转到第二种情况。这里,表达式的结果与 case 2 匹配。因此,显式 The value is two。
  • break 语句终止该块,程序的控制流跳转到 switch 块的外部。
示例 2:switch 语句中的类型检查
// program using switch statement
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(`The value is ${a}`);

输出

The value is one.

在上面的程序中,用 switch 语句计算表达式 a=1。

  • 在JavaScript中,switch语句严格检查值。因此表达式的结果与 case “1” 不匹配。
  • 然后 switch 语句转到第二种情况。这里,表达式的结果与 case 1 匹配。因此,显示 The value is one。
  • break 语句终止该块,程序的控制流跳转到 switch 块的外部。

注意:在JavaScript中,switch 语句根据表达式结果结果严格检查 case(应该是相同的数据类型)。注意,在上面的示例中,1 与 “1” 不匹配。
    让我们编写一个程序,用 switch 语句制作一个简单的计算器。

示例 3:简单计算器
// program for a simple calculator
let result;

// take the operator input
const operator = prompt('Enter operator ( either +, -, * or / ): ');

// take the operand input
const number1 = parseFloat(prompt('Enter first number: '));
const number2 = parseFloat(prompt('Enter second number: '));

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('Invalid operator');
        break;
}

输出

Enter operator: +
Enter first number: 4
Enter second number: 5
4 + 5 = 9

在上面的程序中,要求用户输入 +、-、* 或 / 以及两个操作数。然后,switch 语句根据用户输入执行案例。

带有多个 case 的JavaScript switch

在JavaScript switch语句中,case 可以分组以共享相同的代码。

多个 case 的 switch
// multiple case switch program
let fruit = 'apple';
switch(fruit) {
    case 'apple':
    case 'mango':
    case 'pineapple':
        console.log(`${fruit} is a fruit.`);
        break;
    default:
        console.log(`${fruit} is not a fruit.`);
        break;
}

输出

apple is a fruit.

在上述程序中,多个 case 被分组。所有分组的 case 共享相同的代码。
    如果 fruit 变量的值为 mango 或 pineapple,输出将是相同的。

推荐文章

上一教程 :JS continue                                         下一教程 :JS Functions

参考文档

[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/switch-statement

相关文章