JavaScript流程控制分条件执行(if/else、switch、三元运算符)和循环执行(for、while、do-while、for...of、for...in)两大主干,需突出假值列表、严格相等匹配、各循环适用场景及易错点。

流程控制是 JavaScript 执行逻辑的骨架,画思维导图时不必追求复杂样式,重点是把“判断”和“重复”两类逻辑脉络理清楚、分层级、标关键细节。
从主干开始:两大分支必须明确
中心节点写“JavaScript 流程控制”,第一层只分两个主干:
- 条件执行:对应 if / else if / else、switch / case、三元运算符(? :)
- 循环执行:对应 for、while、do-while、for...in、for...of
不建议一开始就混入 break/continue 或嵌套示例——先搭稳主干,再往枝叶上挂细节。
条件分支要突出“真值判断”本质
在 if 分支下,补充说明 JavaScript 判定“假值”的具体值(falsy):
- false、0、-0、0n(BigInt 零)、""(空字符串)、null、undefined、NaN
- 强调:所有其他值都是真值(truthy),包括 {}、[]、new Date()、"false" 字符串等
switch 分支旁可加一行小注:case 匹配使用严格相等(===),不会类型转换。
循环结构按“适用场景”归类标注
避免罗列语法,用一句话点明每个循环的典型用途:
- for:已知迭代次数,或需精确控制初始化/条件/更新三部分
- while:条件满足就持续执行,适合不确定循环轮数的场景(如用户输入校验)
- do-while:至少执行一次,常用于菜单选择、重试逻辑
- for...of:遍历可迭代对象(Array、String、Map、Set 等),取值
- for...in:遍历对象自有+继承的可枚举属性名(慎用,一般推荐 Object.keys())
收尾补上易错点与进阶提示
在导图最外层加一个“注意”分支,放实用提醒:
- if 中避免直接写赋值语句(如 if (a = 1)),应为 if (a === 1)
- for 循环中 var 声明变量会引发闭包问题,优先用 let
- 循环内修改数组长度(如 push/splice)可能跳过或重复元素,需格外小心
- switch 缺少 break 会“穿透”,除非是刻意设计的 fall-through
一张清晰的流程控制导图,不是语法清单,而是帮你一眼看出“该用哪个结构解决什么问题”的决策地图。


















