一.欢迎来到我的酒馆
在前面的章节中讲了if … else …if 语句,使用if … else … if 可以表示多个分支。但是,仅仅是靠一个变量来做分支,if … else … if并不是一个最好方案。在javascript中,可以使用更高效率的分支语句:switch语句。
下面的流程图解释了switch语句的执行过程:
二.switch语法
2.1 switch语句的主要目的是计算一个表达式的值,然后根据这个值来执行多个不同的语句。javascript编译器会检查每个case是否与表达式的值匹配,如果匹配则执行这个case里面的代码,如果没有一个匹配到case,则执行default里面的代码。
2.2 switch语句语法
switch(表达式){
case 值1:要执行的代码;break;
case 值2:要执行的代码;break;
case 值3:要执行的代码;break;
case 值n:要执行的代码;break;
default:默认执行的代码;
}
break语句表示特定的case代码块的结束,如果省略了break语句,javascript编译器会执行每个case代码块。
在代码中使用switch语句:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script language="javascript" type="text/javascript">
let scoreLevel = "A";
switch(scoreLevel){
case "A":document.write("Ace!");break;
case "B":document.write("Good!");break;
case "C":document.write("No so good!");break;
case "D":document.write("Normal!");break;
default:document.write("Unknow!");
}
</script>
</body>
</html>
保存上面的代码为HTML文件,使用浏览器打开:
2.2 break语句在switch-case中扮演了至关重要的角色,当我们不使用break语句的时候,javascript编译器会执行每个switch当中的case语句。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script language="javacript" type="text/javascript">
let scoreLevel = "A";
switch(scoreLevel){
case "A":document.write("Ace!<br/>");
case "B":document.write("Good!<br/>");
case "C":document.write("Not so good!<br/>");
case "D":document.write("Normal!<br/>");
default:document.write("Unknow!<br/>");
}
</script>
</body>
</html>
保存上面的代码为HTML文件,使用浏览器打开: