javascript - 在 JavaScript 中使用 switch 语句编写 if..else 语句

标签 javascript switch-statement

如何在 JavaScript 中使用 switch 语句编写此 if..else 语句?

var hour = new Date().getHours();
var msg = "";
if (hour >= 0 && hour < 6) {
    msg = "بامداد شما بخیر !";
} else if (hour >= 6 && hour < 11) {
    msg = "صبح شما بخیر !";
} else if (hour >= 11 && hour < 15) {
    msg = "ظهر شما بخیر !";
} else if (hour >= 15 && hour < 20) {
    msg = "عصر شما بخیر !";
} else if (hour >= 20 && hour < 24) {
    msg = "شب شما بخیر !";
} else {
    msg = "ساعت وارد شده نامعتبر است !";
}
print(hour);
print("------------------------");
print(msg);

最佳答案

由于 hour 只有 24 个离散值,您可以在 switch-case 中处理所有这些值:

switch (hour) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
    msg = "بامداد شما بخیر !";
    break;
case 6:
case 7:
case 8:
case 9:
case 10:
    msg = "صبح شما بخیر !";
    break;
case 11:
case 12:
case 13:
case 14:
    msg = "ظهر شما بخیر !";
    break;
case 15:
case 16:
case 17:
case 18:
case 19:
    msg = "عصر شما بخیر !";
    break;
default:
    msg = "شب شما بخیر !";
}

但老实说,这不是白费力气。使用 if-else 更为合适。

关于javascript - 在 JavaScript 中使用 switch 语句编写 if..else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807983/

相关文章:

javascript - 使用 Javascript/jQuery 创建摘录

C: switch 语句错误: "this is the first entry overlapping that value"

java - 如何将我的状态机转换为 java?

c - 程序突然结束,C 中的 while 循环内有 switch case

javascript - 在移动浏览器上关闭屏幕时无法暂停音频

javascript - jquery中的持久变量

javascript - 当我单击下一个或上一个按钮时,数据表显示旧值。

php - http调用次数指导;太多 AJAX 是个问题吗?

ruby - 使用 `===`(包含运算符)比较类

c - 基于 switch case 的代码片段的输出,其中具有匹配 case 的 block 没有代码语句