当前位置: 首页 > news >正文

一次讲透 !、、||:90% 的条件判断 Bug 都出在这里

大家好,我是31 岁的小米。如果你写过 JavaScript,一定有过这样的时刻:

明明代码不复杂,但结果就是不对;明明条件都写了,if 却像装死一样不进来。后来你会发现,问题往往不在变量,不在 API,而是在布尔操作符

今天,我想给你讲一个故事。一个关于“门卫”“安检”“兜底方案”的故事。主角有三个:

  • 逻辑非(!)
  • 逻辑与(&&)
  • 逻辑或(||)

故事的开场:布尔世界的小镇

在 JavaScript 的世界里,有一个很小、但非常重要的小镇,叫Boolean 镇。这个镇子里只有两种人:

  • true
  • false

没有灰色地带,没有“差不多”,你要么能过关,要么直接被拦下来。而镇子的大门口,站着三位守门人。

逻辑非(!):那个“唱反调”的门卫

1、逻辑非是什么?

逻辑非,符号是一个感叹号:

!value

它只干一件事:把“是”变成“不是”,把“不是”变成“是”。在 Boolean 镇里,它是最简单、也最“叛逆”的角色。

2、把它想象成:唱反调的门卫老王

想象一个场景。你去小区找朋友,门口有个门卫老王。规则是这样的:

  • 如果你是业主→ 本来可以进
  • 如果你不是业主 → 本来不能进

但老王今天心情不好,开始

http://www.jsqmd.com/news/183751/

相关文章:

  • 餐厅菜单语音化:顾客扫描二维码听取VoxCPM-1.5-TTS-WEB-UI菜品介绍
  • 软考高项:这六类人为何屡战屡败?如何破解困局?
  • Vue3 应用实例创建及页面渲染底层原理
  • 学长亲荐!专科生必看TOP8 AI论文写作软件测评
  • Sonic提供人脸脱敏功能防止敏感信息泄露
  • 金包银选购指南:认准靠谱材质,有行业深耕品牌售后更靠谱
  • 混合优化算法污水处理优化控制毕业论文【附代码】
  • 计算机毕设java社区医疗服务管理系统 基于Java的社区医疗信息化服务平台设计与实现 Java技术驱动的社区医疗服务管理系统开发
  • 论文重复率高于30%怎么办?五个高效策略助你快速通过查重检测
  • MATLAB代码:考虑阶梯型碳交易机制与电制氢的综合能源系统热电优化,CPLEX+Yalmip...
  • MATLAB代码:考虑阶梯型碳交易机制与电制氢的综合能源系统热电优化,CPLEX+Yalmip...
  • 老年人脸生成效果测试:Sonic对皱纹细节还原能力评估
  • 冯・诺依曼vs哈佛架构:谁更胜一筹?
  • 如果你的论文查重率超过了30%,不妨采用这五种方法,迅速优化至符合要求
  • 论文检测重复率30%以上?采用这五个科学方式,迅速调整文本使其符合规范
  • 数字信号处理篇---DFT与DTFT
  • 2025必备!8个AI论文平台,MBA论文写作必备神器!
  • Matlab使用LSTM或BiLSTM对一维信号(语音信号、心电信号等)进行二分类源程序。 也...
  • Matlab使用LSTM或BiLSTM对一维信号(语音信号、心电信号等)进行二分类源程序。 也...
  • 论文相似度超过30%?掌握这五个关键方法,快速优化内容以达到学校要求
  • 救命神器9个AI论文软件,专科生毕业论文救星!
  • 大型语言模型在自动问答系统中的应用
  • 2026 年 1 月推荐,找中国 ai 智能体获客落地老师,麟哥难道不是首选?
  • 基于RBF神经网络模型,根据历史车速信息,预测将来几秒预测时域的车速信息的时序预测模型(本程序...
  • 基于RBF神经网络模型,根据历史车速信息,预测将来几秒预测时域的车速信息的时序预测模型(本程序...
  • 【计算机毕业设计案例】基于机器学习双分支残差结构的低光照图像增强研究与应用实现
  • 论文查重比例高于30%?利用这五个专业技巧,短时间内降低重复率至合格水平
  • 计算机毕设java网络相册管理系统 基于Java的在线相册管理系统设计与实现 Java网络相册管理系统的开发与应用
  • 基于区域生长的肝影像分割系统:利用Matlab实现的像素与区域聚合算法
  • 深度学习毕设项目推荐-基于双分支残差结构的低光照图像增强研究与应用实现