在编写js代码时,一般常用的就是for循环来写多个条件下的不同情况最后得到的结果,比如下面的代码,
let orderId = "2"
let resDetail ="";
if(orderId === "1"){
resDetail="order created"
}else if(orderId === "2"){
resDetail="order paid"
}else if(orderId=== "3"){
resDetail = "order shipped"
}else {
resDetail = "order"
}
console.log(resDetail)
简单的两三种判断条件使用for循环来处理是可以的,但是遇见条件很多的时候,如果还用for循环来写就会显得很繁琐,这个时候许多人都会使用switch循环语句来写这端代码,如下
let orderId = "3"
let resDetail ="";
switch(orderId){
case "1":
resDetail = "order created";
break;
case "2":
resDetail = "order paid";
break;
case "3":
resDetail = "order shipped";
break;
defalt:
resDetail = "order";
break;
}
console.log(resDetail)
使用switch可以使if else 语句看起来更简洁,但是代码也没有简化太多,我们可以用下面这种方法
let orderId = "3";
let resDetail = "";
let resId="";
const orderDetailList = {
"1":["order created","111"],
"2":["order paid","222"],
"3":["order shipped","333"],
"default":["order","444"]
}
let action = orderDetailList[orderId] || orderDetailList['default'];
resDetail = action[0];
resId = action[1];
console.log(resDetail,resId)
这样写可以减少代码,并且能够更清楚的看见作者想要得到的结果,不需要一层一层的判断条件去找出来,
本文仅我自己写东西的时候的总结,如果有说的不足或者不对的可以提出建议,蟹蟹