JavaScript switch 语句参考

  • JavaScript switch 语句

    switch语句根据不同的情况执行代码块。switch语句是JavaScript的“条件”语句的一部分,用于根据不同的条件执行不同的操作。使用case选择要执行的许多代码块之一。这是长嵌套if/else语句的完美解决方案。switch语句计算表达式。然后将表达式的值与结构中每个案例的值进行比较。如果匹配,则执行相关的代码块。switch语句通常与breakdefault关键字(或两者)一起使用。这些都是可选的:
    break关键字跳出case块。这将停止在块内执行更多的代码执行和/或case测试。如果省略break,则执行switch语句中的下一个代码块。
    break关键字指定一些代码来运行,如果没有匹配的情况下。代码块中只能有一个default关键字。虽然这是可选的,但建议您使用它,因为它可以处理意外情况。
    根据用户输入执行一段代码:
    var text;
    var fruits = document.getElementById("myInput").value;
    
    switch(fruits) {
      case "Banana":
        text = "Banana is good!";
        break;
      case "Orange":
        text = "I am not a fan of orange.";
        break;
      case "Apple":
        text = "How you like them apples?";
        break;
      default:
        text = "I have never heard of that fruit...";
    }
    
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    语句
    switch
    支持
    支持
    支持
    支持
    支持
  • 语法

    switch(expression) {
      case n:
        代码块
        break;
      case n:
        代码块
        break;
      default:
        默认代码块
    }
  • 参数值

    参数 描述
    expression 必需的。 指定要计算的表达式。 表达式被评估一次。 将表达式的值与结构中每个案例标签的值进行比较。 如果匹配,则执行相关的代码块
  • 技术细节

    项目 描述
    JavaScript版本: ECMAScript 1
  • 更多例子

    使用今天的工作日编号来计算工作日名称(Sunday=0,Monday= 1,Tuesday=2,...):
    var day;
    switch (new Date().getDay()) {
      case 0:
        day = "Sunday";
        break;
      case 1:
        day = "Monday";
        break;
      case 2:
        day = "Tuesday";
        break;
      case 3:
        day = "Wednesday";
        break;
      case 4:
        day = "Thursday";
        break;
      case 5:
        day = "Friday";
        break;
      case 6:
        day = "Saturday";
        break;
      default:
        day = "Unknown Day";
    }
    
    尝试一下
    如果今天既不是星期六也不是星期天,请写一条默认消息:
    var text;
    switch (new Date().getDay()) {
      case 6:
        text = "Today is Saturday";
        break; 
      case 0:
        text = "Today is Sunday";
        break; 
      default: 
        text = "Looking forward to the Weekend";
    }
    
    尝试一下
    有时您会希望不同的情况使用相同的代码,或者直接使用常见的默认值。请注意,在此示例中,案例共享相同的代码块,并且默认情况不必是switch块中的最后一种情况(但是,如果default不是switch块中的最后一种情况,请记住break结束它一下)。
    var text;
    switch (new Date().getDay()) {
      case 1:
      case 2:
      case 3:
      default: 
        text = "Looking forward to the Weekend";
        break; 
      case 4:
      case 5:
        text = "Soon it is Weekend";
        break; 
      case 0:
      case 6:
        text = "It is Weekend";
    }
    
    尝试一下
    使用switch语句根据用户输入执行代码块,从提示框中:
    var text;
    var favDrink = prompt("What's your favorite cocktail drink?");
    switch(favDrink) {
      case "Martini":
        text = "Excellent choice! Martini is good for your soul.";
        break;
      case "Daiquiri":
        text = "Daiquiri is my favorite too!";
        break;
      case "Cosmopolitan":
        text = "Really? Are you sure the Cosmopolitan is your favorite?";
        break;
      default:
        text = "I have never heard of that one..";
    }
    
    尝试一下
  • 相关页面

    JavaScript教程:JavaScript if...else语句
    JavaScript教程:JavaScript switch语句