多重if-else的精简方式

实际逻辑情况:当需要多重if-else时,我们通常会面对比较复杂的代码

例如:

var custAtten = '';
if(str=='1'){
    custAtten='<span class="cust-xxx">黑</span>';
}else if(str=='2'){
    custAtten='<span class="cust-xxx">灰</span>';
}else if(str=='12'){
    custAtten='<span class="cust-xxx">展</span>';
}else{
    custAtten='';
}
return custAtten;

让代码组织比较“庞大”?

而通过采用&&、||、或者三目运算符的方式搭配,我们可以得到精简度更高的代码结构

var num = '12';
var str1 = '<span class="cust-xxx">黑</span>';
var str2 = '<span class="cust-xxx">灰</span>';
var str3 = '<span class="cust-xxx">展</span>';
var str = (num=='1'&&str1) ||(num=='2'&&str2)||(num=='12'&&str3)||'';
console.log(str);

或者

var add_step2= 2;
var str1 = '<span class="cust-xxx">黑</span>';
var str2 = '<span class="cust-xxx">灰</span>';
var str3 = '<span class="cust-xxx">展</span>';
var add_level2 = {'1':str1,'2':str2,'12':str3}[add_step2]||0;
console.log(add_level2);

的方式去减缩相关结构组织;

 

原理:

语言中||和&&都遵循“短路”原理;

如&&中第一个表达式为假就不会去处理后续表达式

而||正好相反,当第一个表达式为假时,仍然会处理后续表达式。

避免:

回避0、”“、null、false、undefined、NaN;它们都会被转换为false

以下例子:

console.log(Boolean(0));    //false
console.log(Boolean('')); //false
console.log(Boolean(null)); //false
console.log(Boolean(1)); //true
console.log(Boolean(undefined)); //false
console.log(Boolean(NaN)); //false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值