JS 分支
什么是分支语句?
- JS 在执行的时候, 是按照 从上往下的顺序执行的
- 所以我们书写的所有代码都会执行, 区别就是执行顺序的问题
- 但是上述的执行方案会有一个小问题, 比如我想根据某一个条件决定是否执行一段代码
总结
- 所以分支语句的一个核心就是给了我们 基于某一个条件决定执行某一段代码的能力
if 语句
* 语法1: if (条件) { 书写如果条件成立, 需要执行的代码 }
* 条件为真 就会执行 大括号内的 代码, 否则 不执行
条件可以直接书写布尔值, 也可以书写一个表达式, 或者一个数字
只要你书写的不是一个布尔值, 那么会隐式转换为 一个布尔值
语法2:
if (条件) {
书写如果条件成立, 需要执行的代码
} else {
当上边的条件不成立的时候, 我会执行, 如果上边的条件成立了, 我就不执行了
}
语法3(不推荐大量使用):
if (条件1) {
如果条件1成立, 那么我会执行, 同时后续的所有 else if 或者 else 都不会执行了
} else if (条件2) {
如果条件1不成立, 但是条件2成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
} else if (条件3) {
如果条件1和条件2都不成立, 但是条件3成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
} .....
语法4(语法3的一个升级补充):
if (条件1) {
如果条件1成立, 那么我会执行, 同时后续的所有 else if 或者 else 都不会执行了
} else if (条件2) {
如果条件1不成立, 但是条件2成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
} else if (条件3) {
如果条件1和条件2都不成立, 但是条件3成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
} else {
如果上述的所有条件都不成立, 那么我会执行, 否则就不执行
}
注意: if 语句的难点不是如何选择 语法 1 2 3 4
* 难点是 if 语句 的 条件如何书写
switch 语句
switch 语句, 也是 分支语句的一种
- 主要用于某一个变量的具体值, 做判断 (全等 ===)
- switch 的穿透现象 (穿刺现象)
- 在书写 case 的时候, 没有 书写 break
- 那么如果这个 case 符合条件那么就会执行它内部的代码
- 代码执行完毕后, 没有发现 break, 所以会继续向下执行
- 不管 下一个 case 条件是否满足
- 直到遇见下一个 break 或者 当前 switch 代码全都执行完毕
穿刺案例
三元表达式 语句
- 三元表达式 (三元运算符/三目运算符/问号冒号表达式)
- 也是分支语句的一种, 对 if 语句的一个优化