1.直接使用if
let type = 10 ;// 10订单 20发货单 30退货单
let username1 = '张三'
let username2 = '李四'
let date = ""
let mark = ""
if(type == 10) {
title = "订单"
} else if(type == 20 && username == '张三') {
title = "发货"
date = "2022-09-10" //发货日期
} else if(type == 30 && username == '李四') {
title = "退货"
mark = "退货10件"
}
2.使用&& 简化代码
type == 10 && title = "订单"
type == 20 && username == '张三' && title = "发货"
type == 20 && username == '张三' && date = "2022-09-10"
type == 30 && username == '李四' && title = "退货"
type == 30 && username == '李四' && mark = "退货10件"
3. 使用switch(true)
支持复杂判断,并且的业务逻辑内聚
switch(true) {
case type == 10 :
title = "订单"
break
case type == 20 && username == '张三':
title = "发货"
date = "2022-09-10"
break
case type == 30 && username == '李四':
title = "退货"
mark = "退货10件"
break
}
4. 使用map key-function
通过map的方式 把关键状态作为key值,逻辑放在key对应的value 里面
let type = 10 ;// 10订单 20发货单 30退货单
let date = ""
let mark = ""
if(type == 10) {
title = "订单"
} else if(type == 20) {
title = "发货"
date = "2022-09-10" //发货日期
} else if(type == 30) {
title = "退货"
mark = "退货10件"
}
const map = {
10: () => {
title = "订单"
},
20: () => {
if(username == '张三') {
title = "发货"
date = "2022-09-10"
}
},
30: () => {
if(username == '李四') {
title = "退货"
mark = "退货10件"
}
},
}
typeof map[type] == 'function' && map[type]()