用JavaScript中的switch语句编写if..else语句
如何使用JavaScript中的switch语句编写if..else语句用JavaScript中的switch语句编写if..else语句,javascript,switch-statement,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 (h
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);
var hour=new Date().getHours();
var msg=“”;
如果(小时>=0和小时<6){
msg=“ب㶕㶕㶕㶬㶕㶕ی!”;
}如果(小时数>=6和小时数<11),则为其他情况{
msg=“1588!”;
}否则,如果(小时>=11和小时<15){
msg=“ظهشاببی!”;
}否则,如果(小时>=15和小时<20){
msg=“عشمببی撹!”;
}如果(小时数>=20和小时数<24),则为其他情况{
msg=“1588”;
}否则{
msg=“سعتت㶬ده㶪㶪㶪㶪㶪㶪!”;
}
打印(小时);
打印(“---------------------------”);
印刷品(味精);
因为小时
只有24个离散值,所以您可以在一个开关箱中处理所有这些值:
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更合适。因为
hour
只有24个离散值,所以您可以在一个开关案例中处理所有这些值:
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更合适。首先我要说的是,我不会将其重写为
开关。但我肯定会改变它。(不过,我将执行下面的开关
)
首先,你的案例永远不会发生getHours
返回一个介于0和23之间(包括0和23)的数字。因此,不需要处理<0
或=24
的情况
我是这样写的:
var hour = new Date().getHours();
var msg;
if (hour < 6) {
msg = "بامداد شما بخیر !";
} else if (hour < 11) {
msg = "صبح شما بخیر !";
} else if (hour < 15) {
msg = "ظهر شما بخیر !";
} else if (hour < 20) {
msg = "عصر شما بخیر !";
} else {
msg = "شب شما بخیر !";
}
print(hour);
print("------------------------");
print(msg);
工作原理:JavaScript的开关
允许大小写
标签成为表达式。它根据您在开关
中给出的值,按源代码顺序计算每个案例
,取第一个匹配的案例。如果没有匹配的案例,则使用默认值
(无论默认值在源代码中的什么位置)
再说一遍:我不会那么做的。但问题是如何做到这一点。:-) 首先我要说的是,我不会将其重写为开关。但我肯定会改变它。(不过,我将执行下面的开关
)
首先,你的案例永远不会发生getHours
返回一个介于0和23之间(包括0和23)的数字。因此,不需要处理<0
或=24
的情况
我是这样写的:
var hour = new Date().getHours();
var msg;
if (hour < 6) {
msg = "بامداد شما بخیر !";
} else if (hour < 11) {
msg = "صبح شما بخیر !";
} else if (hour < 15) {
msg = "ظهر شما بخیر !";
} else if (hour < 20) {
msg = "عصر شما بخیر !";
} else {
msg = "شب شما بخیر !";
}
print(hour);
print("------------------------");
print(msg);
工作原理:JavaScript的开关
允许大小写
标签成为表达式。它根据您在开关
中给出的值,按源代码顺序计算每个案例
,取第一个匹配的案例。如果没有匹配的案例,则使用默认值
(无论默认值在源代码中的什么位置)
再说一遍:我不会那么做的。但问题是如何做到这一点。:-) 可能的重复可能的重复