在 第13课 中我们学习了使用esle if来处理多分支语句。实际上,在JavaScript还提供了另一种语句来处理多分支语句:swtich语句。
先来看一下switch语句的语法:
switch (value) {
case value_1:
statements_1
[break;]
case value_2:
statements_2
[break;]
...
default:
statements_def
[break;]
}
switch的语法规则较多,我们一条一条地说:
- switch 内含1个至多个case语句,每个case语句是一个分支,每个case语句都有一个自己的value。
- switch 接收一个value,然后拿这个value依次与case-value相比较,如果相则执行这个分支。
- case有序,上面的case分支优先处理。
- 当进入一条分支后,代码将一直执行到swtich语句的尾部。如假设有5个case,若从case3进入,则case3,case4,case5会被依次执行。
- 在执行case分支时,如果遇到break,则跳出switch语句。
- 通常最后一个会是default分支,default分支意思是默认分支。当swtich-value与所有case-value均匹配失败时,则执行default分支。
好,我们通过一下例子来熟悉一下:
var name = "James"
switch (name)
{
case 'David':
console.log('scores 98.');
break;
case 'James':
console.log('scores 80.'); // 注意,这行下面没有break语句
case 'Lucy':
console.log('scores 70.');
break;
default:
console.log('Sorry, we have no this student');
}
console.log("switch clause has over");
上述代码中,给switch传入的变量是'James',所以将会匹配第2个case-James。又因为第2个case-James没有break语句,所以下面的case-Lucy也会执行。由于Lucy添加了break,所以执行完case-Lucy后,switch语句跳出。
我们运行一下,看看运行结果是不是和我们分析一样:
![](https://img.haomeiwen.com/i5787769/e5e72a982d6c2588.png)
可以看到,运行结果和我们分析一样。
好了,这一节就讲完了。这一节里,你学习到了最为复杂的一个语句,希望能掌握。
什么是闭包?什么是继承?什么是多态?
请继续关注我的课程,我将在后续课程中帮大家依次解答上述问题。
想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!
![](https://img.haomeiwen.com/i5787769/6c918dee5586ac5d.png)
网友评论