前言
亲爱的代码建筑师们!上节课我们用if/else魔法杖学会了简单的路线选择,今天要获得更强大的工具——逻辑运算符!这些神奇的胶水能让你把多个条件组合起来,创建更智能的决策系统🚦。就像建造复杂机械需要的连接件一样重要!
回顾昨天学的
上节课我们掌握了:
if
基础条件判断(单一决策)else
处理不满足条件的情况else if
处理多条件分支- 考试成绩评级系统实践
今天学什么
今天我们学习三种逻辑胶水:
&&
逻辑与 → 并且(两个条件都满足)||
逻辑或 → 或者(至少一个条件满足)!
逻辑非 → 不是(条件取反)
今天要学的内容
🧩 第一部分:&& 逻辑与 - 必须同时满足
想象电影院入场规则:
let hasTicket = true; // 有门票
let hasMask = true; // 有口罩
if (hasTicket && hasMask) {
console.log("欢迎入场!"); // 两个条件都为true时才执行
} else {
console.log("无法入场");
}
🔍 核心概念:
- 符号:
&&
(两个&符号连写) - 含义:并且 → 就像在说"既要...又要..."
- 真值表:
条件A | 条件B | A && B |
---|---|---|
true | true | ✅ true |
true | false | ❌ false |
false | true | ❌ false |
false | false | ❌ false |
🛒 实际案例:购物车结算
let isLoggedIn = true;
let cartTotal = 500; // 购物车金额
// 既要登录又购物满200才能结算
if (isLoggedIn && cartTotal >= 200) {
console.log("允许结算");
}
🎭 第二部分:|| 逻辑或 - 满足一个即可
想象餐厅折扣规则:
let isMember = false; // 非会员
let isBirthday = true; // 今天生日
if (isMember || isBirthday) {
console.log("享受8折优惠!"); // 满足任意条件即可
} else {
console.log("原价付款");
}
🔍 核心概念:
- 符号:
||
(两个|符号连写,通常在回车键上方) - 含义:或者 → 就像在说"要么...要么...都可以"
- 真值表:
| 条件A | 条件B | A || B |
|-------|-------|--------|
| true | true | ✅ true |
| true | false | ✅ true |
| false | true | ✅ true |
| false | false | ❌ false |
🏥 实用案例:紧急通道
let age = 70;
let isDisabled = true;
// 超过65岁或者残障人士可走特殊通道
if (age >= 65 || isDisabled) {
console.log("请走紧急通道");
}
🔄 第三部分:! 逻辑非 - 条件取反
想象安全门禁系统:
let isAlarmActive = false; // 警报未触发
if (!isAlarmActive) { // 相当于 if (false取反 → true)
console.log("安全门保持开启");
} else {
console.log("触发警报!安全门锁定");
}
🔍 核心概念:
- 符号:
!
(感叹号,在数字1键左边) - 含义:非/反转 → 把布尔值反过来(true变false/false变true)
- 真值表:
原值 | !原值 |
---|---|
true | ❌ false |
false | ✅ true |
💻 错误处理案例:
let isError = false;
// 当没有错误时提交数据
if (!isError) {
console.log("开始提交数据...");
}
🔐 第四部分:组合应用 - 智能门票验证系统
结合三种运算符创建完整系统:
// 用户资料
const hasTicket = true; // 有门票
const age = 15; // 年龄
const withParent = true; // 有家长陪同
const isVip = false; // 非VIP
// 核心验证逻辑
if (!hasTicket) {
console.log("❌ 无门票禁止入场");
} else if (age < 13 && !withParent) {
console.log("❌ 13岁以下需家长陪同");
} else if (isVip || (age >= 18) || (age >= 13 && withParent)) {
// VIP/成年/13-17岁有陪同 → 允许进入
console.log("✅ 欢迎进入展览馆!");
} else {
console.log("❌ 不满足入场条件");
}
🔄 执行流程分析:
- 检查无门票 → 立即拒绝
- 小于13岁且无家长 → 拒绝
- 三个条件满足任意一个:
- VIP身份 → true优先通行
- 年龄≥18 → true
- 年龄≥13且有陪同 → true
注:15岁且有陪同 → true
⚠️ 运算符优先级提醒:
!
最高优先级&&
中等优先级||
最低优先级
建议:用( )显式分组,避免歧义
// 有歧义写法
age >= 60 || isDisabled && !hasBag
// 清晰写法
(age >= 60) || (isDisabled && !hasBag)
明天学什么
第九课将进入魔法循环城堡:
while
循环 → 当条件满足时重复执行for
循环 → 精确控制次数的循环- 破解无限循环诅咒的方法
- 实战:创建倒计时器和数字金字塔
成长秘诀
"逻辑运算符如同思维桥梁,将简单布尔值连接成宏伟的判断网络,筑就程序智慧的基石"
评论