JavaScript 中逻辑运算符与三元逻辑的进阶用法
作者:寒星时间:2026-10-28 07:52:14浏览:153
本文深入解析JavaScript中逻辑与(&&)和逻辑或(||)运算符的高级应用。通过对比传统的if-else、switch语句,展示如何利用短路求值特性简化条件赋值逻辑,并提供对象映射结合默认值的简洁写法,帮助开发者写出更精简高效的代码。
基于条件判断的传统实现方式
针对以下场景:根据变量 add_step 的不同取值,动态计算并赋值给 add_level,我们可以采用多种实现方式。
以下是使用传统条件判断语句的实现代码:
var add_level = 0;
if(add_step == 5){
add_level = 1;
}
} else if(add_step == 10){
add_level = 2;
}
} else if(add_step == 12){
add_level = 3;
}
} else if(add_step == 15){
add_level = 4;
}
} else {
add_level = 0;
}
上述逻辑功能同样可以使用 switch 语句来实现,代码如下:
以下是 switch 语句的实现代码:
var add_level = 0;
switch(add_step){
case 5 : add_level = 1;
break;
case 10 : add_level = 2;
break;
case 12 : add_level = 3;
break;
case 15 : add_level = 4;
break;
default : add_level = 0;
break;
利用逻辑运算符简化条件赋值
在 JavaScript 中,还可以利用逻辑或(||)和逻辑与(&&)运算符的特性来简化代码,具体实现如下:
以下是利用逻辑运算符实现的代码:
var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;
对象映射与默认值的简洁写法
第二种写法还可以进一步简化,利用对象键值对映射的方式,代码如下:
以下是简化后的对象映射写法代码:
var add_level={'5':1,'10':2,'12':3,'15':4}[add_step] || 0;
从第二种写法中可以提炼出一个基本公式:
以下是基本公式的代码展示:
add_step==5 && add_level=1该表达式等价于
以下是等价的传统 if 语句代码:
if(add_step==5){
add_level = 1
}作者最新文章
JS 鼠标滚轮事件频繁触发导致卡顿怎么优化?
2026-11-05 17:08:07
优化JS回到顶部性能:防抖节流与requestAnimationFrame应用
2026-11-05 16:33:51
JS中Array、Set与Map的区别及应用场景选择
2026-11-05 16:03:02
PixiJS 常见报错排查:纹理跨域、黑屏与内存泄漏解决
2026-11-05 10:05:21
JS数组find与filter取值区别及性能对比
2026-11-05 08:39:21
