你有没有过这样的经历?早上出门前看天气预报:“如果下雨,就带伞;否则,带防晒帽。” 或者点奶茶时想:“如果加珍珠,总价加3元;否则,按原价。” 这些日常决策的逻辑,在编程里有个专门的工具来处理——它就是今天要讲的 if...else
语句。
别被名字吓到,其实它的思路和你说“如果…就…”的逻辑几乎一模一样。我们用生活场景来拆解它,保证你看完就能上手用。
1. 最基础的“如果…就…”:if 语句
假设你现在要写一个程序,功能是:如果用户年龄大于等于18岁,就输出“已成年”。这时候就需要 if
语句。
先看一段代码:
let age = 20; // 假设用户的年龄是20岁
if (age >= 18) {
console.log("已成年");
}
这段代码的意思很直白:
let age = 20
:先定义一个变量age
(年龄),并赋值为20。if (age >= 18)
:这是“如果”的条件——判断age
是否大于等于18。{ ... }
:大括号里的内容是“就”要执行的代码块,这里就是输出“已成年”。
关键点解释:
- 条件表达式(比如
age >= 18
)的结果是一个“布尔值”(只有两种可能:true
真 或false
假)。当条件为true
时,才会执行大括号里的代码;如果是false
,就跳过。 - 比如如果
age
是15,那么age >= 18
的结果是false
,这时候console.log("已成年")
就不会执行。
2. 加上“否则”:else 语句
但生活里的决策往往不止一种情况。比如刚才的例子,除了“已成年”,还需要告诉未成年的用户“未成年”。这时候就需要 else
来补充“否则”的情况。
修改上面的代码:
let age = 15;
if (age >= 18) {
console.log("已成年");
} else {
console.log("未成年");
}
这里的 else
就相当于“如果不满足前面的条件(age >= 18
为 false
),就执行这里的内容”。此时因为 age
是15,条件不满足,所以会输出“未成年”。
小提醒:else
必须和 if
配对使用,不能单独出现哦!
3. 多个条件怎么办?else if 来帮忙
有时候需要判断的条件不止两种。比如考试评分:90分以上是“优秀”,80-89是“良好”,70-79是“中等”,60-69是“及格”,60以下是“不及格”。这时候就需要 else if
来处理多个条件。
举个代码例子:
let score = 85; // 假设考试分数是85分
if (score >= 90) {
console.log("优秀");
} else if (score >= 80) {
console.log("良好");
} else if (score >= 70) {
console.log("中等");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
这段代码的执行逻辑像“闯关游戏”:
- 先检查第一个条件
score >= 90
,如果满足(比如95分),就输出“优秀”,后面的else if
和else
都不会再检查; - 如果不满足第一个条件(比如85分),就继续检查下一个条件
score >= 80
,满足的话输出“良好”; - 以此类推,直到找到第一个满足的条件,或者全部不满足时执行最后的
else
(比如50分输出“不及格”)。
注意:else if
可以有多个,顺序很重要!比如如果把 score >= 80
写在 score >= 90
前面,那么95分会被错误地判断为“良好”(因为它会先满足 score >= 80
)。所以一定要把更严格的条件放在前面。
4. 条件可以是哪些“东东”?
你可能会问:“条件表达式里只能写 age >= 18
这种吗?” 当然不是!在 JavaScript 里,只要最终能算出 true
或 false
的表达式,都可以作为条件。
常见的条件类型包括:
- 比较运算:
>
,<
,>=
,<=
,===
(严格等于),!==
(严格不等于)等。比如name === "小明"
(判断名字是否是“小明”)。 - 逻辑运算:
&&
(并且),||
(或者),!”(非)。比如
(age >= 18) && (hasIdCard === true)`(判断是否成年且有身份证)。 - “真值”和“假值”:JavaScript 里有些值会被默认当作
false
,比如0
、空字符串""
、null
(空)、undefined
(未定义)、NaN
(非数字);其他值基本都算true
。比如if ("hello")
会执行代码块(因为"hello"
不是空字符串),而if (0)
不会执行(因为0是假值)。
总结:if...else 是程序的“决策开关”
简单来说,if...else
就是给程序装了一个“决策开关”:根据不同的条件,决定执行哪段代码。它可以是一个 if
,也可以是 if...else
,甚至是一连串的 if...else if...else
。
下次你需要让程序“做判断”时,比如根据用户输入弹出不同提示、根据分数显示等级,或者控制页面元素的显示隐藏,都可以用 if...else
来实现。
现在你可以试试自己写几个小例子:比如判断一个数是奇数还是偶数,或者根据月份输出对应的季节。动手敲代码,比光看更有效哦!
希望这篇文章能帮你理解 if...else
的逻辑。如果有哪里没看懂,或者想讨论具体的使用场景,欢迎留言~
评论