switch...case...多条分支,根据条件判断,选择执行
语法: switch(表达式){ case 表达式1: 代码段1; break; case 表达式n: 代码段n; break; default: 默认执行代码;}
运行机制:如果找到与表达式值匹配的case,不但执行当前case下的代码,而且之后所有代码都被触发!
break:退出当前结构;
多个条件公用同一套执行逻辑时,不加break;
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript"> //请输入分数: //如果score>=90 输出优秀 //如果score>=80 输出优秀 //如果score>=60 输出C // 否则 输出D var score = parseInt(prompt(("请输入分数"))); switch(true){ case score>=90: case score>=80: console.log("优秀"); break; case score>=60: console.log("C"); break; default: console.log("D"); break; } </script> </body> </html>
以上switch...case实现方式,也可以使用if...else if...else方法实现,实现方式如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript"> var score = parseInt(prompt(("请输入分数"))); if(score>=90){ console.log("A"); }else if(score>=80){ console.log("B"); }else if(score>=60){ console.log("C"); }else{ console.log("D"); } </script> </body> </html>
下方的例子需注意的是:
switch...case 是全等 === 严格相等 不带自动类型转换
如果num===1, 执行
如果num===2, 执行
如果num===3, 执行
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript"> var num=parseInt(prompt("请选择服务种类")); switch(num){ case 1: //如果num===1 console.log("余额查询中"); break; case 2: //如果num===2 console.log("取款进行中"); break; case 3: //如果num===3 console.log("转账进行中"); break; default: console.log("退出系统"); break; } </script> </body> </html>
//修改: 如果去掉parseInt case 中要加 引号 ‘‘ 比如 case ‘1‘ : case ‘2‘ :
修改后的代码如下所示:
<html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript"> var num=prompt("请选择服务种类"); switch(num){ case ‘1‘: //如果num===1 console.log("余额查询中"); break; case ‘2‘: //如果num===2 console.log("取款进行中"); break; case ‘3‘: //如果num===3 console.log("转账进行中"); break; default: console.log("退出系统"); break; } </script> </body> </html>
时间: 2024-10-03 21:46:35