首页 > 代码库 > switch语句

switch语句

当我们发现自己在if表达式中使用了太多的else if子句时,就应该要考虑使用switch语句来替代if了。

看下面的例子:

技术分享

 

result获取到的是文本框输入的值,typ="text"输出的是字符串类型的值

我们这里定义了变量a="1",将result去跟a比较,如果一样就会弹出警示框

  我们来分析一下,switch表达式主要由那几部分组成。

    1??括号中的表达式。它通常会是一个变量,也可以是其他任何能提供返回值的东西。就是switch()这个括号中的内容。

    2??包含在大括号case序列块。

      每个case语句后面有一个表达式,该变大时的结果将会与switch语句的表达式进行对比。如果对比的结果为true,则case语句中冒号之后的代码将会被执行。

    3??break语句,它实际上是case块的结束符,即当代码执行到break语句时,整个switch语句就执行完成了。

    4??如果case条件都不为true,default条件就会被执行。

  

  换句话说,整个switch语句的执行应该可以分为以下几个步骤:

    1??对switch语句后面的括号部分进行求值,并记录结果

    2??移动到第一个case条件,将它的值与步骤1的结果进行对比

    3??如果步骤2中的比对结果为true,则执行该case块中的代码

    4??在相关case块执行完成之后,如果遇到break语句就直接退出switch

    5??如没有遇到break或步骤2中的对比结果为false,就步骤2中的比对结果为false,就继续下一个case块

    6??重复步骤2到5中的操作

    7??如果依然还没有结束(也就是始终未能按照步骤4中的方式退出,就执行default语句后面的代码块)

switch语句