JS中的 switch case 语句详解
在JavaScript中,switch case
是一种用于选择多个不同代码块中的一种执行路径的控制流语句。在某些情况下,switch case
语句比使用多个if else
语句更加清晰和简洁。本文将详细介绍switch case
语句的用法、语法规则和注意事项。
语法结构
switch case
语句由switch
关键字、一个需要检查的表达式和多个case
分支组成,每个分支包含一个case
关键字后跟一个需要匹配的值,以及该值匹配时需要执行的代码块。另外,还可以使用default
分支来处理没有任何case
匹配成功的情况。
switch (表达式) {
case 值1:
// 如果表达式等于值1,则执行这里的代码
break; // 可选的,用于退出 switch 语句
case 值2:
// 如果表达式等于值2,则执行这里的代码
break;
// 更多 case 分支可以继续添加
default:
// 如果没有任何 case 匹配成功,则执行这里的代码
}
switch
关键字后跟一个表达式,该表达式的值会与case
中的值进行比较。case
关键字后跟一个需要匹配的值,如果表达式的值与case
中的值相等,则执行对应的代码块。break
关键字用于跳出switch
语句,如果省略break
,则会执行匹配成功的case
后的所有代码块,直到遇到break
或结束switch
语句为止。default
关键字用于处理没有匹配的情况,一般放在switch
语句的最后。
示例
let day = new Date().getDay();
let dayString;
switch (day) {
case 0:
dayString = "Sunday";
break;
case 1:
dayString = "Monday";
break;
case 2:
dayString = "Tuesday";
break;
case 3:
dayString = "Wednesday";
break;
case 4:
dayString = "Thursday";
break;
case 5:
dayString = "Friday";
break;
case 6:
dayString = "Saturday";
break;
default:
dayString = "Invalid day";
}
console.log(`Today is ${dayString}.`);
在这个示例中,我们根据当前日期的数字表示来判断今天是星期几,并输出相应的字符串。
注意事项
switch case
语句是严格相等(===
)比较,因此比较的值必须类型和数值都相等才会匹配成功。如果需要进行宽松相等比较,可以考虑使用if else
语句。- 每个
case
分支结束时需要加上break
语句,以防止执行其他不必要的代码块。 - 可以将多个
case
分支合并到一起执行,例如:
switch (day) {
case 0:
case 6:
dayString = "Weekend";
break;
default:
dayString = "Weekday";
}
在上面的示例中,星期天和星期六的case
可以合并为同一个执行路径。
default
分支并不是必需的,如果没有特殊情况要处理,可以不写default
。
总结
通过本文的介绍,我们了解了switch case
语句在JavaScript中的用法和语法规则。它是一种非常方便的多重条件判断语句,可以根据不同的情况执行不同的代码块,使代码更加清晰和易读。在实际开发中,适当地运用switch case
可以提高代码的可维护性和可读性。