使用场景
if...else...和switch...case...都是用于根据不同的条件执行不同的代码块;
if...else语法
if(条件1){
// 满足条件1执行
}else if(条件2){
//满足条件2执行
}else{
// 不满足前面所有条件执行
}
switch...case语法
switch(表达式){
case 字面量1:
// 命中执行
break; //break是用于跳出switch判断,不再进行后面的判断;
case 字面量2:
// 命中执行
break;
default:
// 所有条件均不满足时执行;
// 最后的break可以省略不写;
}
适用场景
注意:这里只是讨论"适用",因为两者都是用作条件判断,是可以互相替换编码的,并不是必须适用哪一种;
1.在只有两种判断的情况,建议选用if...else进行编码;(也可以采用三元运算)因为这样的代码最便于语言;
2.在不止两种判断的情况可以根据喜好进行if和switch的选择,这里建议根据自己此处后期扩展,且代码已读的情况,建议选用switch;
3.当判断一般多余5种的时候,就建议优先采用switch语句;
性能区别
众所周知的js是一门性能非常弱的编程语言,而且因为每个电脑的性能不同,效率也千差万别,所以一般不考虑性能差距;但是,这两者其实关于性能还是有一点点的区别:
1.if语句其实是依次从第一个判断开始一个一个的进行条件执行判断
2.switch语句更像是靶中的方式,就是程序会把条件执行出结果,然后直接拿着结果在case里进行靶中;
介于两种模式,所以一般是switch性能要略胜一筹