switch语句是JavaScript的条件语句之一,用于在不同条件下执行不同的动作。
switch语句对表达式求值,将表达式的值与case子句匹配,并执行与该case关联的语句,以及在匹配case之后的语句。
与每个case标签关联的break语句可确保一旦执行了匹配的语句,程序便会退出switch,并在switch之后的语句处继续执行。如果省略break,程序将在switch语句的下一个语句处继续执行。
default语句指定如果没有匹配的情况下,默认运行的一些代码。switch中只能有一个默认语句。尽管这是可选的,但建议您使用它,因为它可以处理意料之外的情况。
使用switch选择要执行的许多代码块之一。这是长嵌套if ... else语句的完美解决方案。
switch (expression) { case value1: //语句执行时 //表达式匹配的结果 value1 break; case value2: //语句执行时 //表达式匹配的结果 value2 break; ... case valueN: //语句执行时 //表达式匹配的结果 valueN break; default: //没有以上情况时执行的语句 //这些值与表达式的值匹配 }
var city = document.querySelector("input").value; var text; switch (city) { case "Jaipur": text = "Jaipur is known as the Pink City"; break; case "Bengaluru": text = "Bengaluru is known as the IT city"; break; case "Kerala": text = "Kerala God's Own Country"; break; default: text = "I have never heard of that city..."; }测试看看‹/›
所有浏览器都完全支持switch语句:
Statement | |||||
switch | 是 | 是 | 是 | 是 | 是 |
参数 | 描述 |
---|---|
expression | 一个表达式,其结果与每个case子句匹配。 |
case valueN | 用于与表达式匹配的case子句。如果表达式匹配指定的valueN,则执行case子句中的语句,直到switch语句的结尾或break。 |
default | (可选)默认子句;如果提供,则如果expression的值与任何case子句都不匹配,则执行此子句。 |
JavaScript版本: | ECMAScript 1 |
---|
使用工作日编号来计算工作日名称(星期日= 0,星期一= 1,依此类推...):
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 = "Undefined Day"; }测试看看‹/›
如果您忘记break,那么脚本将从符合条件的情况开始运行,然后在满足条件的情况下运行情况:
var num = Number(document.querySelector("input").value); var text; switch (num) { case 1: text = "您输入的号码是 1"; case 2: text = "您输入的号码是 2"; case 3: text = "您输入的号码是 3"; case 4: text = "您输入的号码是 4"; case 5: text = "您输入的号码是 5"; default: text = "Default statement executed"; }测试看看‹/›
有时,您会希望不同的情况使用相同的代码,或者使用通用代码。
这是单操作switch语句的示例,其中四个不同的值执行的操作完全相同:
var num = Number(document.querySelector("input").value); var text; switch (num) { case 1: case 2: case 3: case 4: text = "您输入的号码是介于 1 - 4"; break; case 5: case 6: case 7: case 8: text = "您输入的号码是介于 5 - 8"; break; default: text = "默认语句被执行"; }测试看看‹/›
JavaScript教程:JavaScript If ... Else语句
JavaScript教程:JavaScript switch
JavaScript参考:JavaScript break语句