JavaScript switch 语句参考
-
JavaScript switch 语句
switch语句根据不同的情况执行代码块。switch语句是JavaScript的“条件”语句的一部分,用于根据不同的条件执行不同的操作。使用case选择要执行的许多代码块之一。这是长嵌套if/else语句的完美解决方案。switch语句计算表达式。然后将表达式的值与结构中每个案例的值进行比较。如果匹配,则执行相关的代码块。switch语句通常与break或default关键字(或两者)一起使用。这些都是可选的: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.."; }
-