我是JavaScript的新手,并且一直在玩这个小IF-ELSE练习。本质上,插槽1到4是静态的,可以使用||进行实验操作员。 const'testSlot'是我随着时间的流逝而更改的,以尝试执行代码的“ else if”部分。例如,如果我是晚上9:10 只是手动将getHours更改为21,将getMinutes更改为10,然后运行代码。
话虽如此,我无法运行前两个console.logs之一,它始终只运行“ else”(三个)。
我的问题主要是如果date对象的用法错误或If-Else语句中的语法错误。朝着正确方向的指针将不胜感激。
这是我的代码:
const now = new Date();
const slot1 = now.getHours === 12 && getHours.getMinutes === 1;
const slot2 = now.getHours === 12 && getHours.getMinutes === 2;
const slot3 = now.getHours === 12 && getHours.getMinutes === 3;
const slot4 = now.getHours === 12 && getHours.getMinutes === 4;
const testSlot = now.getHours === 20 && getHours.getMinutes === 34;
if (slot1 || slot2 || slot3 || slot4) {
console.log('one');
} else if (testSlot) {
console.log('two');
} else {
console.log('three');
};
答案 0 :(得分:3)
.getHours()
和.getMinutes()
都是功能和需要括号。另外,getHours.getMinuets()
不会做任何事情。您必须执行now.getMinutes()
。我为您更新了代码段。它仍然会console.log
为三,但这仅仅是因为所有的if语句都是假的。等到12:01,它应该说一个。
const now = new Date();
const slot1 = now.getHours() === 12 && now.getMinutes() === 1;
const slot2 = now.getHours() === 12 && now.getMinutes() === 2;
const slot3 = now.getHours() === 12 && now.getMinutes() === 3;
const slot4 = now.getHours() === 12 && now.getMinutes() === 4;
console.log(now.getHours());
console.log(now.getMinutes());
const testSlot = now.getHours() === 20 && now.getMinutes() === 34;
if (slot1 || slot2 || slot3 || slot4) {
console.log('one');
} else if (testSlot) {
console.log('two');
} else {
console.log('three');
};