IT课程 JavaScript基础 041_条件分支 if、else、switch
2024-11-14 17:08:49 # 学习 # JavaScript基础

JavaScript 中的条件语句主要包括 ifelse ifelseswitch

if 语句

if 语句用于根据一个条件判断是否执行某段代码。当 if(...) 语句括号里的条件表达式为 true,则执行 if 后的 一行 语句。
如果希望控制多行代码,可以使用 {} 将语句括起来。建议每次使用 if 语句都用大括号 {} 来包装代码块,即使只有一条语句,这样可以提高代码可读性。
如果条件表达式为 false 则不执行。
如果 if 后的条件表达式不是布尔值,会先转换为布尔值然后再运算。数字 0、空字符串 ""nullundefinedNaN 都会被转换成 false。其它值被转换为 true

示例:

1
2
3
4
5
let age = 18;
if (age >= 18) console.log('成年人');
if (age >= 18) {
console.log('成年人');
}

if-else 语句

if-else 语句可根据不同条件执行不同的代码块,如果该表达式的值为 true,则执行 if 后面的代码块;否则执行 else 后面的代码块。

示例:

1
2
3
4
5
6
let age = 25;
if (age >= 18) {
console.log('成年人');
} else {
console.log('未成年人');
}

else if 语句

else if 语句是在 if-else 结构中使用的扩展,允许你添加多个条件进行判断。
else if 语句会自上而下依次对 if 后的条件表达式进行求值判断,直到出现 true 条件为止。当出现 true 条件时,后面的条件就不会再继续求值判断了,需要合理安设计条件的排列顺序或增加逻辑运算条件。

示例:

1
2
3
4
5
6
7
8
let score = 95;
if (score >= 90) {
console.log('优秀');
} else if (score >= 60) { //尝试把次条件排序到第一试试结果如何?
console.log('及格');
} else {
console.log('不及格');
}

switch 语句

switch 语句可替代多个if判断,根据表达式的值进行多分支选择。
switch 语句在执行时,会依次将 switch 后的表达式和 case 后的表达式进行 严格相等 比较
如果比较结果为 trueswitch 语句就执行相应 case 后的代码块,直到遇到最靠近的 break 语句(或者直到 switch 语句末尾)。
如果没有符合的 case,则执行 default 代码块(如果 default 存在)。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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(即发生“穿透”现象)。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let day = 2;
switch (day) {
case 1:
console.log('星期一');
break;
case 2:
console.log('星期二');
// 没有 break,会继续执行下一个 case
case 3:
console.log('星期三');
break;
default:
console.log('其他');
}