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