美文网首页
039|JavaScript switch语句

039|JavaScript switch语句

作者: 中年小钢炮 | 来源:发表于2017-05-21 23:49 被阅读15次

第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语句跳出。
我们运行一下,看看运行结果是不是和我们分析一样:

运行结果

可以看到,运行结果和我们分析一样。

好了,这一节就讲完了。这一节里,你学习到了最为复杂的一个语句,希望能掌握。

什么是闭包?什么是继承?什么是多态?

请继续关注我的课程,我将在后续课程中帮大家依次解答上述问题。

想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

我的微信

相关文章

网友评论

      本文标题:039|JavaScript switch语句

      本文链接:https://www.haomeiwen.com/subject/biovxxtx.html