IT课程 JavaScript基础 041_条件分支 if、else、switch
JavaScript 中的条件语句主要包括 if、else if、else 和 switch。
if 语句
if 语句用于根据一个条件判断是否执行某段代码。当 if(...) 语句括号里的条件表达式为 true,则执行 if 后的 一行 语句。 如果希望控制多行代码,可以使用 {} 将语句括起来。建议每次使用 if 语句都用大括号 {} 来包装代码块,即使只有一条语句,这样可以提高代码可读性。 如果条件表达式为 false 则不执行。 如果 if 后的条件表达式不是布尔值,会先转换为布尔值然后再运算。数字 0、空字符串 ""、null、undefined 和 NaN 都会被转换成 false。其它值被转换为 true。
示例:
let age = 18;if (age >= 18) console.log('成年人');if (age >= 18) { console.log('成年人');}if-else 语句
if-else 语句可根据不同条件执行不同的代码块,如果该表达式的值为 true,则执行 if 后面的代码块;否则执行 else 后面的代码块。
示例:
let age = 25;if (age >= 18) { console.log('成年人');} else { console.log('未成年人');}else if 语句
else if 语句是在 if-else 结构中使用的扩展,允许你添加多个条件进行判断。 else if 语句会自上而下依次对 if 后的条件表达式进行求值判断,直到出现 true 条件为止。当出现 true 条件时,后面的条件就不会再继续求值判断了,需要合理安设计条件的排列顺序或增加逻辑运算条件。
示例:
let score = 95;if (score >= 90) { console.log('优秀');} else if (score >= 60) { //尝试把次条件排序到第一试试结果如何? console.log('及格');} else { console.log('不及格');}switch 语句
switch 语句可替代多个if判断,根据表达式的值进行多分支选择。 switch 语句在执行时,会依次将 switch 后的表达式和 case 后的表达式进行 严格相等 比较 如果比较结果为 true,switch 语句就执行相应 case 后的代码块,直到遇到最靠近的 break 语句(或者直到 switch 语句末尾)。 如果没有符合的 case,则执行 default 代码块(如果 default 存在)。
示例:
let day = 7;switch (day) { case 1: console.log('星期一'); break; case 2: console.log('星期二'); break; case 6: //case 分组 case 7: //共享同一段代码的几个 case 分支可以被分为一组 console.log('周末'); break; default: console.log('其他');}break 终止(结束、跳出)循环
break 用于终止(结束、跳出)当前的循环或 switch 语句,如果没有 break,则会继续执行后续 case(即发生“穿透”现象)。
示例:
let day = 2;switch (day) { case 1: console.log('星期一'); break; case 2: console.log('星期二'); // 没有 break,会继续执行下一个 case case 3: console.log('星期三'); break; default: console.log('其他');}