if...else写法:
var level = 0;
if(step == 5){
level = 1;
}else if(step == 10){
level = 2;
}else if(step == 12){
level = 3;
}else if(step == 15){
level = 4;
}else {
level = 0;
}
swicth写法:
var level = 0;
switch(step){
case 5 : level = 1;
break;
case 10 : level = 2;
break;
case 12 : level = 3;
break;
case 15 : level = 4;
break;
default : level = 0;
break;
}
巧妙使用 && 和 ||
var level = (step==5 && 1) || (step==10 && 2) || (step==12 && 3) || (step==15 && 4) || 0;
var level={'5':1,'10':2,'12':3,'15':4}[step] || 0;
“短路”原理:通过最短路径达到目的,不需要把所有条件都执行和判断。注意:如果实参需要是0、”“、null、false、undefined、NaN的时候也会当false来处理。 &&:表达式中有条件为false的表达式,返回第一个条件为false的表达式的值。没有则返回最后一个表达式的值。 ||:表达式中有条件为true的表达式,返回第一个条件为true的表达式的值。没有则返回最后一个表达式的值。
使用es6的Map对象:多元条件判断时,可以把多个条件拼接成字符串,并通过以条件拼接字符串作为键,以处理函数作为值的Map对象进行查找并执行。
const actions = new Map([
['guest_1', ()=>{/*do sth*/}],
['guest_2', ()=>{/*do sth*/}],
['guest_3', ()=>{/*do st