news 2026/4/25 13:04:57

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一次讲透 !、、||:90% 的条件判断 Bug 都出在这里

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

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

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

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

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

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

  • true
  • false

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

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

1、逻辑非是什么?

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

!value

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

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 17:16:00

把IP地址转换为字符串

程序如下​ #include <stdio.h>char str[15]{\0};struct in_addr {unsigned long int s_addr;};char *inet_ntoa(struct in_addr in);int main(){struct in_addr addr0;char *s;addr0.s_addr0x8002c2f2;sinet_ntoa(addr0);printf("%s",s);return 0;}char *inet…

作者头像 李华
网站建设 2026/4/25 6:08:05

论文查重率高于30%?别担心,运用这五个高效技巧,快速调整至合格水平

最新研究数据揭示&#xff0c;全球气温上升与极端气候事件发生率上升之间呈现明确的正相关性&#xff0c;科学分析进一步验证了温室效应加剧对异常气象模式形成的直接影响&#xff0c;这一发现为理解环境变迁与灾害性天气频发之间的内在联系提供了实证依据。 首先&#xff0c;…

作者头像 李华
网站建设 2026/4/24 23:42:57

基于Spring Boot的学生社团管理系统的设计与实现

背景分析随着高校学生社团活动的日益丰富&#xff0c;传统手工管理方式&#xff08;如纸质登记、Excel表格&#xff09;暴露出效率低、数据易丢失、信息共享困难等问题。Spring Boot作为现代Java开发框架&#xff0c;能快速构建高可用的管理系统&#xff0c;解决以下痛点&#…

作者头像 李华
网站建设 2026/4/22 17:37:41

基于springboot+vue的家乡特色旅游宣传系统

背景分析随着旅游业快速发展&#xff0c;地方特色旅游成为吸引游客的重要方式。传统宣传手段如传单、广告牌等覆盖面有限&#xff0c;难以精准触达目标人群。数字化平台能突破地域限制&#xff0c;整合图文、视频等多媒体资源&#xff0c;更生动展示地方文化、美食、景点等特色…

作者头像 李华