如何优化JavaScript中切换布尔变量isFilterOn的代码使其更简洁?
代码优化方案
你要实现的布尔值开关切换逻辑可以用更简洁的方式实现,最优写法如下:
var isFilterOn = false; $('#toggle-filter-btn').on('click', function(e){ e.preventDefault(); isFilterOn = !isFilterOn; })
写法优势
- 代码极度精简,仅需1行赋值语句就完成了原有if分支、三元表达式的等价逻辑,没有任何冗余判断
- 语义清晰直观,
!isFilterOn直接表达了对原有布尔值取反的切换需求,可读性远高于其他写法 - 无额外性能开销,和你原有写法的执行逻辑完全一致
你之前写的三元表达式版本也可以进一步简化为 isFilterOn = isFilterOn ? false : true;,但仍不如直接取反的写法简洁高效。
内容的提问来源于stack exchange,提问作者user14853978
相关产品推荐
相关产品推荐

