在if条件语句中,逻辑条件只能有一个,如果有多个条件,可以使用嵌套的if语句来解决,但这种方法会增加程序的复杂度,降低程序的可读性。
使用switch流程控制语句可以完美地解决这些问题,其基本结构如下:
switch语句语法
代码如下 | 复制代码 |
switch(条件表达式) { case 常量: { 语句a; } case 常量: { 语句b; } case 常量: { 语句c; } ... case 常量: { 语句f; } default: { 语句n; } } |
switch语句语法说明
顺序执行case后面的每个语句,最后执行default下面的语句n
每个case后面的语句可以是多条,但要使用{}包括
每个case后面的值必须互不相同。
其中a是数值型或字符型数据,将a的值与a1、a2、……比较,若a与其中某个值相等时,执行相应数据后面的语句,且当遇到关键字break时,程序跳出switch结构;若找不到与a相等的值,则执行关键字default下面的语句。
switch case 语句:
代码如下 | 复制代码 |
var year=8; var army="",msg=""; switch(parseInt(year)){ case 0: army="平民"; break; case 1: army="列兵"; break; case 2: army="上等兵"; break; case 3: case 4: case 5: army="一级士官"; break; case 6: case 7: case 8: army="二级士官"; break; default: if (year>8) army="中高级士官"; } msg+="军龄 : "+year+"年n"; |
示例
代码如下 | 复制代码 |
var a =3; switch(a) { case 0: { document.write("www"); } case 1: { document.write("dreamdu"); } case 2: { document.write("com"); } case 3: { document.write("www.111cn.net"); } default: { document.write("http://www.111cn.net"); } } |
结果
www.111cn.net
http://www.111cn.net
完整的switch语句语法
上面的结果通常不是我们想要的,如果执行完某个case后面的语句,应该跳出switch语句,这才是真正的switch多分支选择语句。可以在每个分支后面加上break(跳出),后面章节将介绍break。
代码如下 | 复制代码 |
switch(条件表达式) { case 常量: { 语句a; } break; case 常量: { 语句b; } break; case 常量: { 语句c; } break; ... case 常量: { 语句f; } break; default: { 语句n; } } |
当"表达式"的值与某个case后面的常量相等时,就执行常量后面所执行的语句,之后跳出switch分支选择语句,当所有的case后面的常量都不符合"表达式"时,执行default后面的语句n。
示例
代码如下 | 复制代码 |
var a =3; switch(a) { case 0: { document.write("www"); } break; case 1: { document.write("dreamdu"); } break; case 2: { document.write("com"); } break; case 3: { document.write("www.111cn.net"); } break; default: { document.write("http://www.111cn.net"); } } |
看这个函数:
代码如下 | 复制代码 |
function selectArtileType(typeNum)//typeNum是传进来的一个参数 { switch(typeNum) { case "0"://当typeNum=="0"时 document.getElementById("c_1").style.display="none"; document.getElementById("c_2").style.display=""; break; case "1"://当typeNum=="1"时 document.getElementById("c_1").style.display=""; document.getElementById("c_2").style.display="none"; break; case "2"://当typeNum=="2"时 document.getElementById("c_1").style.display=""; document.getElementById("c_2").style.display=""; break; default "3"://其他任何值时 document.getElementById("c_1").style.display="none"; document.getElementById("c_2").style.display="none"; break; } } |
时间: 2024-11-03 14:45:24