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>
原文:http://www.cnblogs.com/AmbiguousMiao/p/7137323.html