# 生活里的“如果…就…否则…”,在代码里怎么写?聊聊JavaScript的if...else
你有没有过这样的经历?早上出门前看天气预报:“如果下雨,就带伞;否则,带防晒帽。” 或者点奶茶时想:“如果加珍珠,总价加3元;否则,按原价。” 这些日常决策的逻辑,在编程里有个专门的工具来处理——它就是今天要讲的 `if...else` 语句。
别被名字吓到,其实它的思路和你说“如果…就…”的逻辑几乎一模一样。我们用生活场景来拆解它,保证你看完就能上手用。
---
#### 1. 最基础的“如果…就…”:if 语句
假设你现在要写一个程序,功能是:**如果用户年龄大于等于18岁,就输出“已成年”**。这时候就需要 `if` 语句。
先看一段代码:
```javascript
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` 来补充“否则”的情况。
修改上面的代码:
```javascript
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` 来处理多个条件。
举个代码例子:
```javascript
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` 的表达式,都可以作为条件。
常见的条件类型包括:
- **比较运算**:`>`, `=`, `= 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` 的逻辑。如果有哪里没看懂,或者想讨论具体的使用场景,欢迎留言~
生活里的“如果…就…否则…”,在代码里怎么写?聊聊JavaScript的if…else
1 分钟阅读
157 字
如果文章对您有帮助,欢迎支持作者继续创作