javascript开关
在这篇简短的文章中,我将向您介绍JavaScript转换案例以及如何通过实际示例使用它们。
本文将通过更实际的示例更好地解释,以帮助您深入了解切换案例。
先决条件。
- 基本JavaScript知识
- 代码编辑器
- 网页浏览器
- 你的脑 :)
if
在JavaScript中进行检查, if
switch
语句基本上可以替换多个语句。
它提供了一种更具描述性的方式来比较一个值和多个变量。
开关语法
switch
具有一个或多个case
框和一个可选的默认大小写。
switch(x) {
case 'value1': // if (x === 'value1')
//code here
[break]
case 'value2': // if (x === 'value2')
//code here
[break]
default:
//code here
[break]
}
- 检查
x
的值是否严格等于从第一种case
(即value1
)到第二种情况(value2
)的value2
,依此类推。 - 如果找到相等,则
switch
从相应的case
开始执行代码,直到最近的break
(或直到switch
结束)。 - 如果没有大小写匹配,则执行
default
代码(如果存在)。
一些真实的例子
- 简单播放和暂停开关
switch
语句可用于基于数字或字符串的多个分支:
switch (movie) {
case 'play':
playMovie();
break;
case 'pause':
pauseMovie();
break;
default:
doNothing();
}
如果不添加break
语句,则执行将“下降”至下一个级别。 如果您确实要帮助调试,请务必在注释中故意标记掉处:
switch (movie) {
case 'play': // fallthrough
case 'pause':
pauseMovie();
break;
default:
doNothing();
}
默认子句是可选的。 如果愿意,您可以在switch部分和case中都有表达式; 使用===
运算符在两者之间进行比较:
switch (3 + 7) {
case 5 + 5:
correct();
break;
default:
neverhappens();
}
- 简单的数学计算开关
let average = 2 + 6;
switch (average) {
case 4:
alert( 'Too small' );
break;
case 8:
alert( 'Exactly!' );
break;
case 10:
alert( 'Too large' );
break;
default:
alert( "Incorrect values!" );
}
此处,该switch
开始比较第一个case
变量4
average
。 比赛失败。
然后8
。 这是一个匹配项,因此从case 8
开始执行,直到最近的break
为止。
如果 没有 break
则继续执行下 case
不进行任何检查。
这里有没有一个例子break
:
let average = 2 + 6;
switch (average) {
case 4:
alert( 'Too small' );
case 8:
alert( 'Exactly!' );
case 10:
alert( 'Too big' );
default:
alert( "Incorrect values!" );
}
在上面的示例中,我们将看到三个alert
的顺序执行:
alert( 'Exactly!' );
alert( 'Too big' );
alert( "Incorrect values!" );
- getDay()方法切换案例
getDay()
方法以0到6之间的数字返回工作日。
周日= 0,周一= 1,周二= 2,周三= 3,周四= 4,周五= 5,周六= 6
本示例使用工作日编号来计算工作日名称:
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";
}
日的结果将是日格式的当前工作日
PS:这将根据您阅读本文的时间而改变
我在星期五的01/04/2019上写了这篇文章,结果将是:
Friday
默认关键字
default关键字指定没有大小写匹配时要运行的代码,更类似于else语句:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Its not weekend yet!";
}
文本的结果将是:
Its not weekend yet!
默认大小写不必一定是switch块中的最后一种大小写:
switch (new Date().getDay()) {
default:
text = "Its not weekend yet!";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
如果默认值不是切换块中的最后一种情况,请记住以默认值结尾。
结论
切换案例的实用示例如此之多,您可以转到google.com并快速搜索更多切换案例的示例。
如果本文对您有帮助,请通过鼓掌,分享或删除一些评论来显示它:)
谢谢阅读!
查看我的博客,我在那里写有关Web和前端开发的文章。
翻译自: https://hackernoon.com/introduction-to-javascript-switch-cases-74584b6b54ff
javascript开关