← JavaScript变量var、let和const JavaScript Switch语句 →

JavaScript条件判断语句if else

原创 2026-03-12 JavaScript 已有人查阅

全面掌握 JavaScript 条件判断 if、if else 与 if else if

写代码就像是在设计人生轨迹,不永远是一条直线走到底。大部分时候,我们需要根据不同的情况,让程序做出不同的选择。在 JavaScript 里,实现这种“分岔路口”功能的核心工具,就是 if-else 语句

很多初学者会觉得 if-else 太简单了,不就是“如果...否则...”吗?但实际上,真正用好它,理解它的三种形态以及背后的执行流程,是写出清晰、健壮逻辑的基础。今天,咱们就来把 JavaScript 里的条件判断彻底讲透。

一、什么是 if-else 语句?

if-else 语句 就是用来根据条件的真(true)或假(false),来决定执行哪一段代码。它是程序拥有“思考”能力的基础。

在 JavaScript 中,if-else 有三种常见的“变体”:

  1. if 语句:只有条件为真时,才执行某段代码。

  2. if else 语句:条件为真时执行一段代码,为假时执行另一段。

  3. if else if 语句:判断多个条件,执行第一个为真的代码块,如果全为假,则执行 else 里的代码。

二、三种形态的实战应用

光讲理论太枯燥,咱们直接看代码。假设你正在代码号上学习编程,我们可以用一些学习的场景来模拟条件判断。

1. 简单的 if 语句:单向选择

这是最简单的形式。只有当 if 后面括号里的条件成立(返回 true)时,才会执行花括号 {} 里的代码。

// 在代码号学习 if 语句
let studyHours = 5; // 今天学习了 5 小时

if (studyHours > 3) {
    console.log("你今天的学习时长超过了 3 小时,很棒!给自己点个赞。");
}
// 程序会继续执行后面的代码
console.log("继续加油,坚持每天来代码号打卡!");

在这个例子里,因为 studyHours > 3 是 true,所以会输出那句鼓励的话。如果学习时长是 2 小时,条件为 false,程序就会直接跳过 if 内部的代码块,只输出那句“继续加油”。

2. if else 语句:双向分支

这是最常见的二元判断。比如判断一个数是奇数还是偶数,或者判断用户是否登录。

// 在代码号学习 if else 语句
let userScore = 85; // 用户在小测验中的得分

if (userScore >= 60) {
    console.log("恭喜!你的测验成绩合格,可以进入下一阶段的学习。");
} else {
    console.log("别灰心,成绩未达标。建议你回顾一下教程频道的内容再试一次。");
}

这里的逻辑很清晰:如果分数大于等于 60,执行第一个代码块;否则(也就是小于 60),执行 else 后面的代码块。

个人经验: 对于这种只有两种性的判断,if else 比写两个 if 语句要高效和清晰得多。用两个 if 的话,程序会傻乎乎地每次都判断两次,而 if else 只会走进中一扇门。

3. if else if 语句:多路选择

当你有超过两个条件需要判断时,就要请出 if else if 了。它会从上到下依次判断每个条件,一旦遇到一个为真的条件,就执行对应的代码块,然后跳出整个判断结构,不再往下看。

// 在代码号学习 if else if 语句
let score = 85; // 假设这是一次编程测评的分数

if (score >= 90) {
    console.log("评价:优秀 (A) - 你的基础非常扎实,可以尝试看一些源码了。");
} else if (score >= 80) {
    console.log("评价:良好 (B) - 学得不错,再巩固一下细节会更好。");
} else if (score >= 70) {
    console.log("评价:中等 (C) - 基本概念掌握了,但还需要多动手练习。");
} else if (score >= 60) {
    console.log("评价:及格 (D) - 勉强过关,建议复习一下前面的章节。");
} else {
    console.log("评价:待提高 (F) - 别放弃,编程入门需要一点耐心,可以从头再来一遍。");
}

关键点: 注意这里的条件顺序。我们是从高到低(90 > 80 > 70...)排列的。假设 score 是 85,它会先问 score >= 90? 不是。再问 score >= 80? 是的,为真。于是输出“良好 (B)”,然后直接结束判断,不会再去看后面的 score >= 70 或 score >= 60

个人见解: 写这种多条件判断时,条件的顺序至关重要。如果你把 score >= 60 写在最前面,那 85 分也会满足这个条件,程序就会输出“及格 (D)”,但这显然不是我们想要的结果。一定要想清楚条件的“优先级”或“范围”,然后合理安排顺序。

三、执行流程与背后的逻辑

理解这三种语句的执行流程,能帮你更好地调试代码。

  • if 语句:条件为真 -> 进入代码块;条件为假 -> 跳过代码块。

  • if else 语句:这是一个互斥的分支。条件为真走 A,否则走 B。A 和 B 永远不会同时执行。

  • if else if 语句:这是一个多选一的结构。从上到下匹配,匹配到哪个就执行哪个,剩下的所有分支(包括的 else)都不会被执行。如果所有条件都不匹配,并且有 else 存在,则执行 else 里的代码。

四、一些容易忽略的细节

  1. 花括号 {} 不是必须的,但我强烈建议你写上。 如果 if 或 else 后面只有一条语句,可以不写花括号。

    if (true) console.log("这是单行语句,可以不写花括号");
    else console.log("这样写也行");

    但是,这非常容易出错。如果以后你想在 if 后面加第二条语句,却忘了加花括号,第二条语句就会变成无论如何都会执行的语句,导致逻辑 bug。
    我的建议是:永远都写上花括号,哪怕是只有一行代码。

  2. 警惕隐式类型转换。 if 括号里的表达式最终都会被转换成布尔值(true 或 false)。有些值天生就是“假”的:false0''(空字符串)、nullundefinedNaN。他值一般都是“真”的。

    let userName = ""; // 空字符串
    if (userName) {
        // 这里的代码不会执行,因为空字符串被转换成了 false
        console.log("欢迎," + userName);
    } else {
        console.log("用户名为空,请重新输入。");
    }

    利用这个特性,可以写出很简洁的代码。

五、知识要点

我们来总结一下今天的内容,希望能成为你日常开发中的参考:

  • 单一条件判断:用 if 语句,它只处理条件为真时的逻辑。

  • 二选一场景:用 if else 语句,它像一个岔路口,程序永远只会选择中一条路。

  • 多选一场景:用 if else if 语句,它会按顺序寻找第一个满足的条件,找到后立即执行并退出。

  • 核心原则if else if 中的条件顺序至关重要,一定要根据条件的“严格程度”或“范围大小”来合理排列。

  • 习惯:即使只有一行代码,也坚持为 ifelseelse if 的代码块加上花括号 {}

条件判断是编程逻辑的基石。把今天这些内容吃透了,你就能更好地控制程序的走向,写出更符合业务逻辑的代码。

← JavaScript变量var、let和const JavaScript Switch语句 →
分享笔记 (共有 篇笔记)
验证码:
微信公众号