JavaScript条件语句分if...else和switch:if...else适用于二选一、多分支或范围判断,switch适用于多个固定值的严格相等比较;前者支持逻辑表达式,后者仅支持全等且不支持范围。

JavaScript 条件语句用来根据不同的条件执行不同的代码块,最常用的是 if...else 和 switch。它们不是互斥的,而是适用场景不同:简单二选一或多分支用 if...else,多个固定值判断用 switch 更清晰。
if else 基本写法和常见形式
if 语句检查一个布尔表达式是否为真,为真就执行对应代码块;else 是“否则”的意思,当条件不成立时执行;还可以用 else if 连续判断多个条件。
- 单个 if:
if (score >= 60) { console.log("及格"); } - if + else:
if (age >= 18) { console.log("成年"); } else { console.log("未成年"); } - 多条件链:
if (grade === "A") { ... } else if (grade === "B") { ... } else { ... }
注意:条件括号里必须是能转为布尔值的表达式,比如 0、null、undefined、空字符串 "" 都会被当成 false;其他多数值(包括 "0"、[]、{})默认是 true。
switch 语句怎么用才不出错
switch 适合判断某个变量是否等于几个**确定的值**。它会把表达式的值和每个 case 后的值做**严格相等(===)比较**,匹配成功就执行对应代码,直到遇到 break 或结束。
立即学习“Java免费学习笔记(深入)”;
- 基本结构:
switch (day) { case 1: console.log("周一"); break; case 2: console.log("周二"); break; default: console.log("无效日期"); } - 忘记
break会导致“穿透”(fall-through),即继续执行下一个case的代码,有时是故意的,但多数情况是 bug -
default不是必须的,但建议加上,处理意外值,相当于else
注意:switch 只支持全等比较,不支持范围判断(比如 case > 90: 是无效语法),这种场景请回到 if...else。
什么时候选 if,什么时候选 switch
看判断依据是不是“离散的具体值”。比如用户输入的菜单编号、HTTP 状态码、星期几,这些值有限且明确,用 switch 更直观易读;如果是范围判断(如分数段)、逻辑组合(如 age >= 18 && hasId)、或需要调用函数判断,就只能用 if...else。
- ✅ 推荐 switch:
status = 404、role = "admin"、key = "Enter" - ✅ 推荐 if:
price > 1000、user.age 、arr.length === 0
现代 JS 也支持用对象映射或 Map 替代简单 switch,但初学掌握好 if 和 switch 就够用了。
基本上就这些。写条件语句不复杂,但容易忽略细节,比如漏掉 break、混淆 == 和 ===、或者在 switch 里写条件表达式——盯住“值是否固定”和“要不要严格比较”,就能选对写法。











