我需要查看一年中的几个月,看看该月的最后一天是 28、29、30 还是 31。我的问题是第一个 if 语句总是评估为真:
MOIS_I = 31
if (mois == "Janvier" || "Mars" || "Mai" || "Juillet" || "Août" || "Octobre" || "Décembre" || "1" || "3" || "5" || "7" || "8" || "10" || "12" || "01" || "03" || "05" || "07" || "08") {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + MOIS_I + " jours ");
}
此外,似乎有必要这样做if (mois == "Janver" || mois == "Février" || ... )
,但我想知道是否有更好的方法来做到这一点。
这是完整的代码:
var mois, annee, test4, test100, test400;
const MOIS_P = 30;
const MOIS_I = 31;
const FEV_NORM = 28;
const FEV_BISSEX = 29;
const TEST_4 = 4;
const TEST_100 = 100;
const TEST_400 = 400;
mois = window.prompt("Entrez un mois de l'année", "");
annee = window.prompt("Entrez l'année de ce mois", "");
/* MOIS IMPAIRS */
if (mois == "Janvier" || "Mars" || "Mai" || "Juillet" || "Août" || "Octobre" || "Décembre" || "1" || "3" || "5" || "7" || "8" || "10" || "12" || "01" || "03" || "05" || "07" || "08") {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + MOIS_I + " jours ");
/* MOIS PAIRS */
} else if (mois == "Février" || "Avril" || "Juin" || "Septembre" || "Novembre" || "2" || "4" || "6" || "9" || "11" || "02" || "04" || "06" || "09") {
if (mois == "Février") {
test4 = parseInt(annee) % TEST_4;
test100 = parseInt(annee) % TEST_100;
test400 = parseInt(annee) % TEST_400;
if (test4 == 0) {
if (test100 != 0) {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + FEV_BISSEX + " jours ");
} else {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + FEV_NORM + " jours ");
}
} else if (test400 == 0) {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + FEV_BISSEX + " jours ");
} else {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + FEV_NORM + " jours ");
}
} else {
window.alert("Le mois " + mois + " de l'année " + annee + " compte " + MOIS_P + " jours ");
}
} else {
window.alert("Apocalypse!");
}
TEST_4、TEST_100、TEST_400 用于测试年份是否为闰年(这意味着 2 月有 29 天而不是 28 天)。
谢谢!