← 返回目录

8. 比较与逻辑运算符

比大小出真假、把多个条件拼起来。本页核心一句话:强制用 ===,别用 ==,再学会 && || ! 怎么组合。

8.1 互动演示

勾选项再点按钮,看 && || ! 怎么组合条件。

8.2 知识点逐条讲解(配合代码)

① 比较运算符:比完只会答"对"或"错"

把两个数放一起比大小,结果永远只有两个:true(对)或 false(错)

符号人话
> < >= <=大于 / 小于 / 大于等于 / 小于等于
===全等:值一样、类型也一样才算对
!==不全等
==相等(会偷偷变类型,禁止用
20 > 18;            // true(20 比 18 大)
18 === "18";          // false(一个是数字、一个是文字,类型不同)
null == undefined;    // true(== 偷偷变类型,很坑)
null === undefined;   // false(=== 老老实实比)
		

如果你图省事用 == 代替 ===,它会偷偷把两边类型变一样再比,于是 "18"==18 居然是 true。这种暗坑出 bug 极难查。项目里强制只用 === 和 !==,永远别用 ==

② 逻辑运算符:把多个条件拼起来

符号意思规则
&&并且两边都对,才对
||或者只要有一边对,就对
! 非反过来对变错、错变对
let isLogin = true;     // 已登录?
let isAdmin = false;    // 是管理员?
let hasPerm = true;     // 有功能权限?

// 必须"并且":已登录 并且 有权限
console.log(isLogin && hasPerm); // true

// "或者":管理员 或者 有权限
console.log(isAdmin || hasPerm); // true

// "取反":!已登录 = 未登录
console.log(!isLogin); // false
		

③ 赋值运算符:简写公式

想让 num 在自己基础上加 5,老写法是 num = num + 5,太啰嗦,于是有了简写:

简写等于
+=num = num + 5
-=num = num - 5
*=num = num * 5
/=num = num / 5
%=num = num % 5

④ 运算符优先级:先算谁后算谁

一行里又有加减乘除又有比较又有 &&记不住就加括号,括号永远最先算。大概顺序从高到低:

1. () 括号(最高,想先算谁就括谁)
2. 一元 ++ -- !
3. 乘除取余  →  加减
4. 比较  > < ===
5. 逻辑  &&  →  ||
6. 赋值  =  +=(最低)
		

如果你把一长串 100-20*3>10 && !(5==="5")||88<100 直接写在一行,看的人(包括你自己)很容易算错。作业里这种题要先拆成 part1、part2 分步算,一步一步打印,清楚又不容易错。

实战:用在哪 / 常见坑 / 怎么解决

① 可能在什么地方用:登录 && 有权限才进后台;金额 >= 包邮门槛;管理员 || VIP 看数据。

② 常见的问题:图省事用 ==,结果 '18'==18 误判;一长串 && || 结果算错。

③ 解决思路:强制只用 ===;复杂条件拆成 part1、part2 分步打印,别一行堆完。

一句话记住:比大小结果就是 true/false;只用 === 不用 ==;&& 并且、|| 或者、! 取反;记不住优先级就加括号