条件判断(if/else)
了解程序如何用 if、else if、else 做决定——分支逻辑的基础。
你将学到
- if/else 如何在代码中创建分支
- 什么是布尔表达式、怎么写
- 如何用 else if 串联多个条件
- 常见的比较与逻辑运算符
概念讲解
条件判断(if/else)
条件让程序做决定。if 语句测试一个布尔表达式——结果为真或假——只在测试通过时才运行对应代码块。
if 语句
if (temperature > 30) {
console.log("It's hot outside.");
}
若 temperature > 30 为 true,代码块运行;为 false 则整段跳过。
加上 else 和 else if
else 在条件为假时提供兜底。else if 让你按顺序测试一串条件:
if (score >= 90) {
grade = "A";
} else if (score >= 80) {
grade = "B";
} else if (score >= 70) {
grade = "C";
} else {
grade = "F";
}
程序从上往下逐个检查,只运行第一个匹配的分支。顺序很重要:把更具体的判断放前面。
比较与逻辑运算符
- 比较:
===(相等)、!==(不等)、>、<、>=、<= - 逻辑:
&&(与)、||(或)、!(非)
if (age >= 18 && hasTicket) { // 两个都须为真
enterVenue();
}
永远优先用 === 而非 ==。三等号同时比较值和类型,不会出现意外的隐式转换。
示例代码
const hour = 14; // 24 小时制
let period;
if (hour < 12) {
period = "morning";
} else if (hour < 18) {
period = "afternoon";
} else {
period = "evening";
}
console.log(`Good ${period}!`); // "Good afternoon!"
// 逻辑运算符组合条件:
const isWeekend = false;
const isHoliday = true;
if (isWeekend || isHoliday) {
console.log("No alarm today!");
}
第一段把小时归类为时段。第二段用 ||(或),只要任一条件为真就不设闹钟。
动手试一试
- Password Strength Analyser
这个工具内部就是一连串条件:if 长度 > 12、if 含大写、if 含符号……每条都给分数加分。
常见错误
错误写法
用 == 而不是 === 做相等判断。
正确做法
用 ===(严格相等),避免 0 == '' 为真这类隐式转换怪事。只在极少数刻意转换时才用 ==。
错误写法
条件顺序写反(宽泛的写在具体的前面)。
正确做法
从最具体到最一般排列。否则宽泛判断会吞掉本应由具体判断处理的情形。
相关资源
相关速查表
- JavaScript Cheatsheet
所有比较与逻辑运算符的参考。
练习 条件判断(if/else)
2 个练习
查阅不认识的术语
新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。
动手做项目
通过引导式项目应用所学,含起始代码与解决方案。
解读错误信息
用大白话解释常见错误——什么意思、为什么发生、如何修复。