12、分支语句 Switch 在JS宏中的运用

switch 语句用于基于不同的条件来执行不同的动作。
Switch语句和 if else 非常相似。从本质上来说他们并没有区别。他们都是按不同的条件,在条件满足时执行不同的动作。
switch 语法:
switch(x){
case 1: 当x==1时 执行语句 break;
case 2: 当x==2时 执行语句 break;
case 3: 当x==3时 执行语句 break;
case 4: 当x==4时 执行语句 break;
....................
default: 如果x不是上面的任何值,将执行这条语句。
}
事实上任何一个switch 都可以拆分为 if else
使用switch 能让我们的代码更加,简洁,整洁,易读。
switch 括号中的值,可以是数字,字符串,字符、符号。
不同的数据类型我们在写case 的时候写法也略有区别,数字可以直接表示。如果是字符,符号,字符串等。我们需要用 "" 加引号表示。
case 1: case 与 条件之间的空格不可省略。最后的英文 : 也不可省略。这是固定的语法格式。
switch(值){
case 1:
case "+":
case "字":
case "字符串":
}
switch 中的break:
首先break:
是一个关键字,一般我们会使用它来跳出当前循环,他在Switch语句中的作用是跳出当前语句块。
如果在执行完当前满足条件的case 语句时,没有遇到break;关键字那么接下来,将继续执行下一个case 只到遇到break;才会跳出
如果我们写了一个switch()语句如下:
var n=2;
switch(n){
case 1:Range("a1").Value2=1;
case 2:Range("a1").Value2=2;
case 3:Range("a1").Value2=3;
}
上面的语句
我们并没有使用break;关键字。
那么我们最后执行的结果是,在a1单元格中写入了一个3,如果我们单步调适运行会发现。他在执行时,首先执行了满足条件的case 2;后面接着执行了case 3中的语句,因为没有遇到 break,所以他不会跳出当前的语句块。
所以我们在使用switch 时break; 是必须的。除非我们确实希望他执行后面的每一个case 。
switch 中的default:
default:是备选语句。
在switch中,我们一般会写多个条件,但我们不能把所有情况都表示进去。
无法表示进去的情况我们可以统一放到default 中来统一处理。
如下:
var age;
switch(age){
case 18:你好年轻人;break;
case 30:你好年轻人;break;
case 40:你好中年人;break;
case 50:你好中年人;break;
case 60:你好老年人;break;
default:你好你输入的这个我无法判断哦。
}
我们并不需要要,把每一个年龄断都一一表示进去。比上面的代码。
本课小结:
每一个siwtch语句,都能拆分为 if else
每一个case 的最后都应写上break;跳出语句。
我们一般会使用case 来做精准判断,而不是区间判断。

视频教程: