优化js代码,不适用if语句。if (success.confirmed){ //同意 switch (roleName) { case '销售员': eolState = 0; break; case '销售主管': eolState = 5; break; case '销售经理': eolState = 7; break; } } else if (success.confirmed == false) { //不同意 switch (roleName) { case '销售员': eolState = 10; break; case '销售主管': eolState = 6; break; case '销售经理': eolState = 8; break; } }else { //弹窗关闭按钮,不做逻辑处理 return; }
时间: 2024-02-10 14:27:03 浏览: 72
你可以使用对象映射来优化这段代码,避免使用if语句和switch语句。可以创建一个映射对象,将success.confirmed的值与相应的操作关联起来,然后根据success.confirmed的值查找对应的操作并执行。
```javascript
const stateMap = {
true: {
'销售员': () => eolState = 0,
'销售主管': () => eolState = 5,
'销售经理': () => eolState = 7
},
false: {
'销售员': () => eolState = 10,
'销售主管': () => eolState = 6,
'销售经理': () => eolState = 8
}
};
const confirmed = success.confirmed;
const actionMap = stateMap[confirmed];
if (actionMap) {
const action = actionMap[roleName];
if (action) {
action();
} else {
// 弹窗关闭按钮,不做逻辑处理
return;
}
} else {
// 弹窗关闭按钮,不做逻辑处理
return;
}
```
这样,根据success.confirmed和roleName的值,可以动态地选择相应的操作,避免了if语句和switch语句的使用。如果无法找到对应的操作,则直接返回,不做逻辑处理。
阅读全文