JavaScript条件语句知识点汇总
编程小白也能看懂的JavaScript条件语句详细指南
条件语句是什么?
想象一下你每天做决定的过程:如果下雨,我就带伞;如果天气热,我就穿短袖。编程中的条件语句也是类似的逻辑,让程序根据不同的情况执行不同的代码。
在JavaScript中,条件语句是控制流程的重要工具,让程序可以根据不同的条件执行不同的代码块。
if语句 – 最基本的条件判断
if语句是最简单、最常用的条件语句。它的作用就是:如果某个条件成立,就执行特定的代码。
大白话解释:
如果(条件满足) { 执行这里的代码 }
if (条件) {
// 当条件为真(true)时执行的代码
}
// 实际例子:检查年龄是否大于等于18岁
let age = 20;
if (age >= 18) {
console.log(“你已经是成年人了!”);
}
重要提示: 条件表达式的结果必须是布尔值(true或false)。如果条件不是布尔值,JavaScript会自动将其转换为布尔值。
if…else语句 – 二选一
当你需要在条件满足时做一件事,不满足时做另一件事,就可以使用if…else语句。
大白话解释:
如果(条件满足) { 执行这里的代码 } 否则 { 执行这里的代码 }
if (条件) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
// 实际例子:检查用户是否登录
let isLoggedIn = false;
if (isLoggedIn) {
console.log(“欢迎回来!”);
} else {
console.log(“请先登录!”);
}
小贴士: else不需要条件,它负责处理所有不符合前面条件的情况。
else if – 处理多个条件
当你有多个条件需要判断时,可以使用else if来添加更多的条件分支。
大白话解释:
如果(条件1满足) { 执行代码1 }
或者,如果(条件2满足) { 执行代码2 }
否则 { 执行默认代码 }
if (条件1) {
// 条件1为真时执行
} else if (条件2) {
// 条件2为真时执行
} else if (条件3) {
// 条件3为真时执行
} else {
// 所有条件都不满足时执行
}
// 实际例子:成绩评级系统
let score = 85;
if (score >= 90) {
console.log(“优秀!”);
} else if (score >= 80) {
console.log(“良好!”);
} else if (score >= 60) {
console.log(“及格!”);
} else {
console.log(“不及格!”);
}
最佳实践: 条件判断的顺序很重要!JavaScript会从上到下依次检查条件,一旦某个条件满足,就会执行对应的代码块,然后跳过其余的所有条件检查。
switch语句 – 多路分支选择
当你有一个变量,需要根据它的不同值执行不同的操作时,switch语句比多个if…else if更清晰。
大白话解释:
检查(变量) {
情况1: 执行代码1; 停止检查;
情况2: 执行代码2; 停止检查;
默认: 执行默认代码;
}
switch (表达式) {
case 值1:
// 当表达式等于值1时执行
break;
case 值2:
// 当表达式等于值2时执行
break;
default:
// 没有匹配的情况时执行
}
// 实际例子:根据星期几显示不同的消息
let day = “Monday”;
switch (day) {
case “Monday”:
console.log(“新的一周开始了!”);
break;
case “Friday”:
console.log(“周末快到了!”);
break;
case “Saturday”:
case “Sunday”:
console.log(“周末愉快!”);
break;
default:
console.log(“工作日加油!”);
}
重要提示: 每个case后面通常都要加break语句,否则程序会继续执行下一个case的代码(这被称为”穿透”)。当多个case需要执行相同代码时,可以省略break。
三元运算符 – 简化的条件表达式
三元运算符是if…else的简写形式,适用于简单的条件判断。
大白话解释:
条件 ? 条件为真时的值 : 条件为假时的值
条件 ? 表达式1 : 表达式2
// 实际例子:检查用户是否是会员
let isMember = true;
let discount = isMember ? ‘20%’ : ‘5%’;
console.log(`您的折扣是: ${discount}`); // 输出:您的折扣是: 20%
// 相当于下面的if…else语句
if (isMember) {
discount = ‘20%’;
} else {
discount = ‘5%’;
}
小贴士: 三元运算符非常适合简单的条件赋值,但不要在复杂的逻辑中使用,否则代码可读性会变差。
比较运算符 – 构建条件的基础
条件语句的核心是比较,以下是常用的比较运算符:
相等运算符
==
:等于(会进行类型转换)===
:严格等于(值和类型都相同)!=
:不等于!==
:严格不等于
大小比较
>
:大于>=
:大于等于<
:小于<=
:小于等于
逻辑运算符
&&
:逻辑与(两个条件都要满足)||
:逻辑或(满足其中一个条件)!
:逻辑非(取反)
== 与 === 的区别
表达式 | 结果 | 说明 |
---|---|---|
5 == ‘5’ | true | 值相同(类型不同也会转换) |
5 === ‘5’ | false | 值和类型都相同才为true |
0 == false | true | 0和false在非严格相等下相同 |
0 === false | false | 类型不同(数字 vs 布尔值) |
最佳实践: 绝大多数情况下,推荐使用严格相等 ===
和严格不相等 !==
,以避免JavaScript类型转换导致的意外结果。
实际应用场景
表单验证
检查用户输入是否满足要求:
let username = document.getElementById(“username”).value;
if (username === “”) {
alert(“用户名不能为空!”);
return false;
} else if (username.length < 6) {
alert(“用户名至少需要6个字符!”);
return false;
}
return true;
}
用户权限控制
根据用户角色显示不同内容:
if (userRole === “admin”) {
showAdminPanel();
} else if (userRole === “editor”) {
showEditorTools();
} else {
showUserDashboard();
}
功能切换开关
根据设置启用或禁用功能:
if (darkMode) {
document.body.classList.add(“dark-theme”);
} else {
document.body.classList.remove(“dark-theme”);
}
条件语句交互演示
输入一个0-100的数字,查看条件语句如何对它进行评级:
总结:如何选择正确的条件语句
情况 | 推荐的语句 | 示例 |
---|---|---|
单一条件检查 | if | if (isRaining) { takeUmbrella(); } |
二选一的条件 | if…else | if (isMember) { showDiscount(); } else { showRegularPrice(); } |
多个互斥条件 | if…else if…else | 根据温度显示穿衣建议 |
基于单个变量的多个值 | switch | 根据星期几显示不同的消息 |
简单的条件赋值 | 三元运算符 | let message = isMorning ? “早安” : “你好”; |
最后建议: 编写条件语句时,尽量保持代码简洁可读。对于复杂的条件逻辑,考虑将条件分解为多个变量或函数,这样代码更易于理解和维护。