if 条件与 switch
条件判断让程序「分叉」。if...else if...else 适合按区间判断(如分数等级),条件从上往下依次检查,命中一个就不再往下看。
switch 适合「一个变量匹配多个固定值」的场景,比如根据星期几返回课程表。它用 === 严格比较,每个 case 结尾必须写 break,否则会「贯穿」到下一个 case 继续执行——某些场景可以故意利用贯穿(多个 case 共用一段逻辑),但初学阶段忘了写 break 是最常见的 bug 之一。所有 case 都不匹配时执行 default。
判断时注意:条件里的值会被转成布尔值,所以 if (arr.length) 就能判断「数组非空」,if (str) 就能判断「字符串不是空的」。
本节要点区间判断用 if,固定值匹配用 switch;switch 用 === 比较,忘写 break 会贯穿执行;条件里的值会自动转布尔,可利用假值简化判断。
JavaScript
const score = 85; // if...else if...else:适合区间判断 if (score >= 90) { console.log('优秀'); } else if (score >= 80) { console.log('良好'); } else if (score >= 60) { console.log('及格'); } else { console.log('不及格'); } // switch:适合匹配固定值 const fruit = '苹果'; switch (fruit) { case '苹果': console.log('3 元一斤'); break; // 忘了 break 会继续往下执行! case '香蕉': case '芭蕉': // 故意贯穿:两种水果同价 console.log('2 元一斤'); break; default: console.log('没有这种水果'); } // 短路写法:条件成立才执行 score >= 60 && console.log('通过考试');
📚 推荐阅读
来自万象云档的免费在线书籍,点击封面直接阅读




