多重选择语句的思路

有一个多重判断语句逻辑上是判断type=不同的数字执行不同的方法type的取值范围从1~9有部分type值没有对应的处理函数
比如:
if(type==1){
//dosomething
}
if(type==3){
//dosomething
}
if(type==5){
//dosomething
}
后来觉得很多冗余换了一种方法:
vargoto={
"1":function(){
//dosomething
},
"3":function(){
//dosomething
},
"5":function(){
//dosomething
}
};
goto[type];
但是又遇到一个问题,type值遇上没有列出在goto的时候会遇到undefined错误,可是如果这样写:
vargoto={
"1":function(){
//dosomething
},
"3":function(){
//dosomething
},
"5":function(){
//dosomething
}
“2”:function(){},
“4”:function(){},
“6”:function(){},
“8”:function(){}
};
goto[type];
又觉得这样的代码量分分钟比第一种还要多请问有没有其他思路呢谢谢
慕森王
浏览 340回答 2
2回答

慕无忌1623718

这是javascript?直接用switch?如functionfunc(i){switch(i){case"1":console.log("1...");break;case"2":console.log("2...");break;case2:console.log("2...num");break;default:console.log("...");}}

POPMUISE

functiongetFunByVal(val){return{"1":doSomething,"1":doSomething,"3":doSomething,"4":doSomething,"5":doSomething,"6":doSomething,"7":doSomething,"8":doSomething,"9":doSomething}[val];}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript