JavaScript switch case
source link: https://www.myfreax.com/javascript-switch-case/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
JavaScript switch case
在本教程中,您将学习如何使用 JavaScript switch
语句根据多个条件执行分支语句。
JavaScript switch case 语句简介
switch
语句评估一个 expression
,将其结果与 case
值进行比较,并执行与匹配值关联的 case
语句。
下面说明了 switch
语句的语法:
switch (expression) {
case value1:
statement1;
break;
case value2:
statement2;
break;
case value3:
statement3;
break;
default:
statement;
}
让我们看看代码是如何运行的。
- 首先,评估
switch
关键字后面括号内的expression
。 - 其次,将表达式的结果从上到下 与
case
分支中value1
,value2
, …进行比较。值得注意的是,switch
语句使用严格比较===
。 - 第三,
expression
执行结果等于case
关键字后面的值时,执行case
分支中的语句。break
表示语句退出switch
语句。如果分支没有break
语句,代码执行将进入下一个case
分支。如果expression
的结果不严格等于任何值,switch
声明将会执行default
分支的语句。
只要找到匹配项,switch
语句就会停止将 expression
的结果与剩余 case后面的值进行比较。switch
语句类似于if...else...if语句。但它具有更易读的语法。
以下流程图说明 switch
语句执行流程:
javascript switch
在实践中,你经常使用一个 switch
语句来代替一个复杂的 if...else...if
语句来使代码更具可读性。
从技术上讲,switch
语句等同于以下 if...else...if
语句:
if (expression === value1) {
statement1;
} else if (expression === value2) {
statement2;
} else if (expression === value3) {
statement3;
} else {
statement;
}
JavaScript switch 示例
让我们举一些使用 JavaScript switch
语句的例子。
JavaScript switch 语句获取星期几
以下示例使用 switch
语句根据天数获取星期几:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = 'Sunday';
break;
case 2:
dayName = 'Monday';
break;
case 3:
dayName = 'Tuesday';
break;
case 4:
dayName = 'Wednesday';
break;
case 5:
dayName = 'Thursday';
break;
case 6:
dayName = 'Friday';
break;
case 7:
dayName = 'Saturday';
break;
default:
dayName = 'Invalid day';
}
console.log(dayName); // Tuesday
Tuesday
看看代码是如何运行。
首先,声明保存日期编号的日期变量和日期名称变量 (dayName)。
其次,使用 switch
语句根据天数获取星期几。如果 day 是 1
,则该日是周末的Sunday。如果天是 2
,则是Monday
,依此类推。
第三,将星期几打印到控制台。
JavaScript switch 语句获取基于月份的天数
以下示例使用switch
语句获取一个月的天数:
let year = 2016;
let month = 2;
let dayCount;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dayCount = 31;
break;
case 4:
case 6:
case 9:
case 11:
dayCount = 30;
break;
case 2:
// leap year
if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) {
dayCount = 29;
} else {
dayCount = 28;
}
break;
default:
dayCount = -1; // invalid month
}
console.log(dayCount); // 29
在这个例子中,我们有四种情况:
- 如果月份是 1、3、5、7、8、10 或 12,则一个月的天数是 31。
- 如果月份为 4、6、9 或 11,则该月的天数为 30。
- 如果月份为2,年份不是闰年,则天数为 28。如果年份为闰年,则天数为 29。
- 如果月份不在有效范围(1-12)内,则
default
分支被执行并将dayCount
变量设置为-1,表示无效月份。
switch
语句计算一个表达式,将其结果与case
值进行比较,并执行与匹配关联语句。- 使用
switch
语句而不是复杂的if...else...if
语句使代码更可阅读。 switch
语句使用严格比较===
与expression
和case
值进行比较。
微信公众号
支付宝打赏
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK