繁体   English   中英

为什么我的If-Else语句默认为“else”?

[英]Why is my If-Else statement defaulting to “else”?

我是JavaScript的新手,刚刚玩弄了这个小小的IF-ELSE练习。 从本质上讲,1到4的插槽是静态的以试验|| 运营商。 const'testSlot'是我随着时间的推移而改变的尝试并执行我的代码的“else if”段; 例如,如果它是9:10 PM我刚刚手动将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'); }; 

.getHours().getMinutes()都是函数后面需要括号 此外, getHours.getMinuets()不会做任何事情。 你必须现在做now.getMinutes() 我为您更新了您的代码段。 它仍将是console.log三,但这只是因为所有if语句都是false。 等到它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'); }; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM