这个switch
语句用于根据不同的条件执行不同的操作。
使用switch
语句来选择要执行的多个代码块之一。
switch(
expression) {
case
x:
// code block
break;
case
y:
// code block
break;
default:
//
code block
}
它是这样工作的:
这个getDay()
方法将工作日返回为 0 到 6 之间的数字。
(星期日=0,星期一=1,星期二=2..)
此示例使用工作日编号来计算工作日名称:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
当天的结果将是:
当 JavaScript 达到break
关键字,它突破了 switch 块。
这将停止 switch 块内的执行。
没有必要破坏 switch 块中的最后一个 case。无论如何,该块会在那里破裂(结束)。
笔记:如果省略break语句,即使评估与case不匹配,也会执行下一个case。
这个default
关键字指定如果没有大小写匹配则运行的代码:
这个getDay()
方法将工作日返回为 0 到 6 之间的数字。
如果今天既不是星期六 (6) 也不是星期日 (0),则写入默认消息:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
文本的结果将是:
这个default
case 不必是 switch 块中的最后一个 case:
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
亲自试一试 »
如果default
不是 switch 块中的最后一个情况,请记住以中断结束默认情况。
有时您会希望不同的 switch case 使用相同的代码。
在此示例中,情况 4 和 5 共享相同的代码块,而 0 和 6 共享另一个代码块:
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
亲自试一试 »
如果多个 case 与一个 case 值匹配,则第一的案例被选中。
如果没有找到匹配的案例,程序继续执行默认标签。
如果没有找到默认标签,程序将继续执行语句切换后。
开关盒用途严格的比较(===)。
这些值必须具有相同类型才能匹配。
仅当操作数属于同一类型时,严格比较才成立。
在此示例中,x 将不匹配:
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!