JavaScript Switch 语句

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

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

  1. switch(variable/expression) {
  2. case value1:
  3. // body of case 1
  4. break;
  5. case value2:
  6. // body of case 2
  7. break;
  8. case valueN:
  9. // body of case N
  10. break;
  11. default:
  12. // body of default
  13. }

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

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

笔记:

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

JavaScript switch 语句流程图

示例 1:使用 switch 语句的简单程序
  1. // program using switch statement
  2. let a = 2;
  3. switch (a) {
  4. case 1:
  5. a = 'one';
  6. break;
  7. case 2:
  8. a = 'two';
  9. break;
  10. default:
  11. a = 'not found';
  12. break;
  13. }
  14. console.log(`The value is ${a}`);

输出

  1. The value is two.

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

  • 表达式的结果用 case 1 计算,结果为 false。
  • 然后 switch 语句转到第二种情况。这里,表达式的结果与 case 2 匹配。因此,显式 The value is two。
  • break 语句终止该块,程序的控制流跳转到 switch 块的外部。
示例 2:switch 语句中的类型检查
  1. // program using switch statement
  2. let a = 1;
  3. switch (a) {
  4. case "1":
  5. a = 1;
  6. break;
  7. case 1:
  8. a = 'one';
  9. break;
  10. case 2:
  11. a = 'two';
  12. break;
  13. default:
  14. a = 'not found';
  15. break;
  16. }
  17. console.log(`The value is ${a}`);

输出

  1. 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:简单计算器
  1. // program for a simple calculator
  2. let result;
  3. // take the operator input
  4. const operator = prompt('Enter operator ( either +, -, * or / ): ');
  5. // take the operand input
  6. const number1 = parseFloat(prompt('Enter first number: '));
  7. const number2 = parseFloat(prompt('Enter second number: '));
  8. switch(operator) {
  9. case '+':
  10. result = number1 + number2;
  11. console.log(`${number1} + ${number2} = ${result}`);
  12. break;
  13. case '-':
  14. result = number1 - number2;
  15. console.log(`${number1} - ${number2} = ${result}`);
  16. break;
  17. case '*':
  18. result = number1 * number2;
  19. console.log(`${number1} * ${number2} = ${result}`);
  20. break;
  21. case '/':
  22. result = number1 / number2;
  23. console.log(`${number1} / ${number2} = ${result}`);
  24. break;
  25. default:
  26. console.log('Invalid operator');
  27. break;
  28. }

输出

  1. Enter operator: +
  2. Enter first number: 4
  3. Enter second number: 5
  4. 4 + 5 = 9

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

带有多个 case 的JavaScript switch

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

多个 case 的 switch
  1. // multiple case switch program
  2. let fruit = 'apple';
  3. switch(fruit) {
  4. case 'apple':
  5. case 'mango':
  6. case 'pineapple':
  7. console.log(`${fruit} is a fruit.`);
  8. break;
  9. default:
  10. console.log(`${fruit} is not a fruit.`);
  11. break;
  12. }

输出

  1. 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

相关文章

最新文章

更多