js进行复杂的条件判断

这篇博客探讨了在JavaScript中处理复杂条件判断的不同方法,包括if...else、switch语句、巧用&&和||操作符,以及利用ES6的Map对象和Object。文章提到了将条件作为字符串或正则表达式映射到处理函数,以实现灵活的逻辑处理。此外,还总结了Map与Object的区别,并提出课后思考问题,涉及JavaScript的深浅拷贝概念。
摘要由CSDN通过智能技术生成

if...else写法:

var level = 0;  

if(step == 5){  
    level = 1;  
}else if(step == 10){  
    level = 2;  
}else if(step == 12){  
    level = 3;  
}else if(step == 15){  
    level = 4;  
}else {  
    level = 0;  
}

swicth写法:

var level = 0;  

switch(step){  
    case 5 : level = 1;  
        break;  
    case 10 : level = 2;  
        break;  
    case 12 : level = 3;  
        break;  
    case 15 : level = 4;  
        break;  
    default : level = 0;  
        break;  
} 

巧妙使用 && 和 ||

var level = (step==5 && 1) || (step==10 && 2) || (step==12 && 3) || (step==15 && 4) || 0;   
var level={'5':1,'10':2,'12':3,'15':4}[step] || 0; 
“短路”原理:通过最短路径达到目的,不需要把所有条件都执行和判断。注意:如果实参需要是0、”“、null、false、undefined、NaN的时候也会当false来处理。
 &&:表达式中有条件为false的表达式,返回第一个条件为false的表达式的值。没有则返回最后一个表达式的值。
 ||:表达式中有条件为true的表达式,返回第一个条件为true的表达式的值。没有则返回最后一个表达式的值。

使用es6的Map对象:多元条件判断时,可以把多个条件拼接成字符串,并通过以条件拼接字符串作为键,以处理函数作为值的Map对象进行查找并执行。

const actions = new Map([
  ['guest_1', ()=>{/*do sth*/}],
  ['guest_2', ()=>{/*do sth*/}],
  ['guest_3', ()=>{/*do st
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值