介绍
这篇文章将为大家详细讲解有关JavaScript复杂逻辑判断的技巧性写法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者开关来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/开关会变得越来越臃肿,越来越看不懂,那么如何更优雅的写判断逻辑,本文带你试一下。
先看一段代码
/* * *按钮点击事件 * @param{}数量状态活动状态:1开团进行中2开团失败3商品售罄4开团成功5系统取消 */const>/* * *按钮点击事件 * @param{}数量状态活动状态:1开团进行中2开团失败3商品售罄4开团成功5系统取消 */const> const行动={ & # 39;1 & # 39;:[& # 39;处理# 39;& # 39;IndexPage& # 39;], & # 39;2 & # 39;:[& # 39;失败# 39;& # 39;FailPage& # 39;], & # 39;3 & # 39;:[& # 39;失败# 39;& # 39;FailPage& # 39;], & # 39;4 & # 39;:[& # 39;成功# 39;& # 39;SuccessPage& # 39;], & # 39;5 & # 39;:[& # 39;取消# 39;& # 39;CancelPage& # 39;], & # 39;默认# 39;:[& # 39;其他# 39;& # 39;指数# 39;], }/* * *按钮点击事件 * @param{}数量状态活动状态:1开团进行中2开团失败3商品售罄4开团成功5系统取消 */const>=新地图(const行动( [1,[& # 39;处理# 39;& # 39;IndexPage& # 39;]], [2,[& # 39;失败# 39;& # 39;FailPage& # 39;]], [3,[& # 39;失败# 39;& # 39;FailPage& # 39;]], [4,[& # 39;成功# 39;& # 39;SuccessPage& # 39;]], [5,[& # 39;取消# 39;& # 39;CancelPage& # 39;]], [& # 39;默认# 39;[& # 39;其他# 39;& # 39;指数# 39;]] ])/* * *按钮点击事件 * @param{}数量状态活动状态:1开团进行中2开团失败3商品售罄4开团成功5系统取消 */const>/* * *按钮点击事件 * @param{}数量状态活动状态:1开团进行中2开团失败3开团成功4商品售罄5有库存未开团 * @param{字符串}身份身份标识:客人客主主态态 */const>=新地图(const行动( [& # 39;guest_1& # 39;()=比;{/*做某事*/}), [& # 39;guest_2& # 39;()=比;{/*做某事*/}), [& # 39;guest_3& # 39;()=比;{/*做某事*/}), [& # 39;guest_4& # 39;()=比;{/*做某事*/}), [& # 39;guest_5& # 39;()=比;{/*做某事*/}), [& # 39;master_1& # 39;()=比;{/*做某事*/}), [& # 39;master_2& # 39;()=比;{/*做某事*/}), [& # 39;master_3& # 39;()=比;{/*做某事*/}), [& # 39;master_4& # 39;()=比;{/*做某事*/}), [& # 39;master_5& # 39;()=比;{/*做某事*/}), [& # 39;默认# 39;()=比;{/*做某事*/}), ])/* * *按钮点击事件 * @param{字符串}身份身份标识:客人客主主态态 * @param{}数量状态活动状态:1开团进行中2开团失败3开团成功4商品售罄5有库存未开团 */const> const行动={ & # 39;guest_1& # 39;:()=比;{/*做某事*/}, & # 39;guest_2& # 39;:()=比;{/*做某事*/},//? } const>=新地图(const行动( [{ 身份:& # 39;客人# 39; 状态:1 }()=比;{/*功能阳极*/}), [{ 身份:& # 39;客人# 39; 现状:2 }()=比;{/*功能阳极*/}), [{ 身份:& # 39;客人# 39; 现状:3 }()=比;{/*功能阳极*/}), [{ 身份:& # 39;客人# 39; 状态:4 }()=比;{/*功能阳极*/}), [{ 身份:& # 39;客人# 39; 状态:5 }()=比;{/* functionB */}),//? )
好一点的写法是将处理逻辑函数进行缓存:
const行动=()=比;{ const功能阳极=()=比;{/*做某事*/} const functionB=()=比;{/*做某事*/} 返回新地图([ [{ 身份:& # 39;客人# 39; 状态:1 },功能阳极), [{ 身份:& # 39;客人# 39; 现状:2 },功能阳极), [{ 身份:& # 39;客人# 39; 现状:3 },功能阳极), [{ 身份:& # 39;客人# 39; 状态:4 },功能阳极), [{ 身份:& # 39;客人# 39; 状态:5 },functionB],//? ]) } const> const行动=()=比;{ const功能阳极=()=比;{/*做某事*/} const functionB=()=比;{/*做某事*/} 返回新地图([ [/^ guest_[1 - 4]/美元,功能阳极), [/^ guest_5/美元,functionB),//? ]) } const> const行动=()=比;{ const功能阳极=()=比;{/*做某事*/} const functionB=()=比;{/*做某事*/} const functionC=()=比;{/*发送日志*/} 返回新地图([ [/^ guest_[1 - 4]/美元,功能阳极), [/^ guest_5/美元,functionB), [/^ guest_。* $/,functionC],//? ]) } 李const>JavaScript复杂逻辑判断的技巧性写法是什么