前言

当我们使用js作值比较的时候,往往会想到是用if还是用switch?
下面简单做一下比较

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const tem = 2;
console.time('if');
for (let i = 0; i < 50000; i++) {
if (tem === 1) {

} else if (tem === 2){

} else {

}
}
console.timeEnd('if'); // if: 2.204ms

console.time('switch');
for (let j = 0; j < 50000; j++) {
switch (tem) {
case 1:
break;
case 2:
break;
default:
break;
}
}
console.timeEnd('switch'); // switch: 1.386ms

总结

  1. 可以看出如果我们只作值比较的话,使用switch效率会更高;
  2. 使用switch代码会变得更简洁;
  3. 当然if更加灵活,更适合作值范围的比较;