说我尝试运行类似的脚本
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&lt; 12,脚本有效。
在当前版本的JavaScript中组合当前日期和当前小时是否可以进行调整?
我只需要星期五&& currentHour < 12
。
答案 0 :(得分:1)
在第一个示例中,如果您想将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...
}
此处,operator()将currentDay
和currentHour
分组,并在没有其他语句的情况下对它们进行比较。
在此示例中,运算符()
对所有currentDay
进行分组,比较它们(如if条件返回布尔值),然后将布尔值与currentHour < 12
进行比较(或下一个声明)。
根据我对您的问题的理解,您有一个问题是为了比较您条件中的所有陈述。如果您有一些问题,请告诉我一个评论。
有关运营商的详情,请参阅this页面。