说我尝试运行类似的脚本
let currentTime = new Date();
let currentDay = currentTime.getDay();
let currentHour = currentTime.getHours(); // 0-23.
if ( currentDay === 0 || currentDay === 1 || currentDay === 2 || currentDay === 3 || currentDay === 4 || currentDay === 5 && currentHour < 12) {
Do stuff...
}
只要
currentHour < 12
在那里(最后),它就不起作用。但是,当我删除它时,它没有问题。我也尝试过(虽然我不知道这并不重要):
if ( currentDay !== 6 || currentDay !== 5 && currentHour < 12 ) {
Do stuff...
}
同样,如果我删除currentHour
在当前版本的JavaScript中,当组合当前日期和当前时间时,是否还可能有条件?
注意
我只在星期五需要
&& currentHour < 12
。 最佳答案
在第一个示例中,如果要将currentHour<12
和currentDay==5
与指标&&
进行比较,则可以使用以下代码:
if ( currentDay === 0 || currentDay === 1 || currentDay === 2 || currentDay === 3 || currentDay === 4 || currentDay === 5 && currentHour < 12) {
Do stuff...
}
但是,如果您想将
currentHour < 12
与所有currentDay
进行比较,则可以使用以下代码:if ( (currentDay === 0 || currentDay === 1 || currentDay === 2 || currentDay === 3 || currentDay === 4 || currentDay === 5) && currentHour < 12) {
Do stuff...
}
但是,就像@RobG所说的那样,这样做是最漂亮的:
if ( currentDay<=5 && currentHour < 12) {
Do stuff...
}
编辑
当然,如果只想将
currentDay
与currentHour
进行比较,则可以这样:if ( currentDay <= 6 || (currentDay === 5 && currentHour < 12)) {
Do stuff...
}
在这里,运算符()将
currentDay
和currentHour
分组,并仅比较它们而没有其他语句。在此示例中,运算符
()
将所有currentDay
进行分组,将它们进行比较(就像if条件女巫返回布尔值),然后将布尔值与currentHour < 12
(或下一条语句)进行比较。据我了解您的问题,为了比较您条件中的所有陈述,您遇到了问题。如果您有任何问题,请告诉我。
您可以查阅this页面以获取有关运算符的更多信息。