Skip to content

条件判断(if/else)

了解程序如何用 if、else if、else 做决定——分支逻辑的基础。

你将学到

  • if/else 如何在代码中创建分支
  • 什么是布尔表达式、怎么写
  • 如何用 else if 串联多个条件
  • 常见的比较与逻辑运算符

概念讲解

条件判断(if/else)

条件让程序做决定。if 语句测试一个布尔表达式——结果为真或假——只在测试通过时才运行对应代码块。

if 语句

if (temperature > 30) {
  console.log("It's hot outside.");
}

temperature > 30true,代码块运行;为 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 == '' 为真这类隐式转换怪事。只在极少数刻意转换时才用 ==。

错误写法

条件顺序写反(宽泛的写在具体的前面)。

正确做法

从最具体到最一般排列。否则宽泛判断会吞掉本应由具体判断处理的情形。

相关速查表

练习 条件判断(if/else)

2 个练习

练习 条件判断(if/else)

查阅不认识的术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

查看术语表

动手做项目

通过引导式项目应用所学,含起始代码与解决方案。

查看项目

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误