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、<code>arr.Length === 0
现代 js 也支持用 对象 映射或 map 替代简单 switch,但初学掌握好 if 和 switch 就够用了。
基本上就这些。写条件语句不复杂,但容易忽略细节,比如漏掉 break、混淆 == 和 ===、或者在 switch 里写条件表达式——盯住“值是否固定”和“要不要严格比较”,就能选对写法。