我是学习编程的初学者,更具体地说是 JavaScript。我在学习编码时遇到一个小问题。当我使用 switch 语句来解决一个问题时,它会产生正确的输出。
var dateNow = 3;
var dateSuffix;
switch (dateNow) {
case 1:
case 21:
case 31:
dateSuffix = "st";
break;
case 2:
case 22:
dateSuffix = "nd";
break;
case 3:
case 23:
dateSuffix = "rd";
break;
default:
dateSuffix = "th";
break;
}
console.log("Today is the " + dateNow + dateSuffix + " day.");
但是当我对 if else 语句执行相同操作时,输出是错误的。
var dateNow = 3;
var dateSuffix;
if (dateNow == 1 || 21 || 31) {
dateSuffix = "st";
} else if (dateNow == 2 || 22) {
dateSuffix = "nd";
} else if (dateNow == 3 || 23) {
dateSuffix = "rd";
} else {
dateSuffix = "th";
}
console.log("Today is " + dateNow + dateSuffix + " day of the month...");
有人可以指出我的 if 语句的问题吗?
最佳答案
你不能使用dateNow == 1 || 21 || 31
.
您需要使用[1,21,31].includes(dateNow)
或dateNow == 1 ||现在日期 == 21 ||现在日期 == 31
var dateNow = 3;
var dateSuffix;
if ([1,21,31].includes(dateNow)) {
dateSuffix = "st";
} else if ([2,22].includes(dateNow)) {
dateSuffix = "nd";
} else if ([3,23].includes(dateNow)) {
dateSuffix = "rd";
} else {
dateSuffix = "th";
}
console.log("Today is " + dateNow + dateSuffix + " day of the month...");
关于javascript - JavaScript 中使用 switch 和 if else 语句的不同输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48851130/