比大小出真假、把多个条件拼起来。本页核心一句话:强制用 ===,别用 ==,再学会 && || ! 怎么组合。
把两个数放一起比大小,结果永远只有两个: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 分步打印,别一行堆完。