function(response) {
if (response.bMap && SelType === 'q') {
setDefaultQQ(response.bMap);
} else if (response.bMap && SelType === 'a') {
setDefaultAA(response.bMap);
} else if (response.bMap && SelType === 'o') {
setDefaultOO(response.bMap);
} else if (response.mMap && SelType === 'm') {
setDefaultMM(response.mMap);
} else if (response.bMap && SelType === 'p') {
setDefaultPP(response.bMap);
} else if (response.eMap && SelType === 'e') {
setDefaultEE(response.eMap);
} else {
setDefaultData();
showModal();
}
}

有没有办法将此条件语句缩减为更短的形式和更好的可读性
答案 0 :(得分:2)
可以使用对象映射SelType特定方法
var methods = {
'a': setDefaultQQ,
'o': setDefaultOO,
'm': setDefaultMM,
....
}
if(response.bMap && methods[SelType]){
methods[SelType](response.bMap);
}else{
setDefaultData();
showModal();
}
答案 1 :(得分:0)
这不是一个好方法,但这个怎么样
eval("setDefault"+SelType.toUpperCase()+SelType.toUpperCase()+"(response."+SelType.toUpperCase()+"Map);");
但肯定不是最好的方式。