Switch 与 If 需根据情况
- 大部分书写代码的时候,当需要做判断的时候,很多人(包括我),都喜欢使用 if 语句,因为 if 的逻辑性很高,而且可以在判断的时候增加很多复杂的条件。
var bug_bum_if = function () {
if (see watermelon || see apple || see peach) {
bug two;
}
}
// 这种复杂的买包子事件就很容易实现。
// 但是如果是用 switch 来实现呢 就很奇怪。
var bug_bum_switch = function (whatYouSee) {
switch (whatYouSee) {
case 'see watermelon' :
bug two;
break;
case 'see apple' :
bug two;
break;
case 'see peach' :
bug two;
break;
}
}
// 这个时候使用switch就显得很蠢,明明几行就搞定的事情,非要写那么多行。但是不可否认的确实可读性更高一些(个人认为)
- 但是当判断条件简单了,但是需要购买的内容变多了的时候呢, Swtich 结构 可能会胜出吧。
// 当然 我们还是买包子
var bug_bum_if = function () {
if (see watermelon) {
bug two;
} else if (see apple) {
bug three;
} else if (see peach) {
bug four;
}
}
// 无尽的花括号~
var bug_bum_switch = function (whatYouSee) {
switch (whatYouSee) {
case 'see watermelon' :
bug two;
break;
case 'see apple' :
bug three;
break;
case 'see peach' :
bug four;
break;
}
// Switch 难得的没有什么变化,但是买的数量确实改变了,这次是不是可读性更高了呢。
- 所以当判断条件很复杂的时候,比如有很多与或非的运算,使用 If 语句无疑可以提高很多效率,但是当判断条件很简单的时候,不妨使用 Swtich。
Switch 的简写
// 其实这才是这次主要想记录的东西
var text_switch = function (value) {
switch (value) {
case 'A' :
console.log('First');
break;
case 'a' :
console.log('First');
break;
case 'B' :
console.log('Second');
break;
case 'b' :
console.log('Second');
break;
case 'C' :
console.log('Third');
break;
case 'c' :
console.log('Third');
break;
}
}
// 当我们需要执行的代码块一致时候,可以简写成:
var text_switch_simple = function (value) {
switch (value) {
case 'A' :
case 'a' :
console.log('First');
break;
case 'B' :
case 'b' :
console.log('Second');
break;
case 'C' :
case 'c' :
console.log('Third');
break;
}
}
// textSwitch('A') -> First
// textSwitch('a') -> First
// textSwitch('B') -> Second
// textSwitch('b') -> Second
// textSwitch('C') -> Third
// textSwitch('c') -> Third
// 看起来简单多了不是吗,当然这是一个大牛告诉我的,并且测试过没有问题,如果出现了什么问题
结束啦
网友评论