Javascript 如何在if-else语句中声明两个条件

Javascript 如何在if-else语句中声明两个条件,javascript,if-statement,Javascript,If Statement,嘿,我想在零售商店的网站上显示一个被打开的指示器(非常像Yelp的指示器“Open Now”)。我已经弄明白了如何在每天固定的时间里做这件事(下面的例子) 但是这家商店在星期五和星期六有不同的关门时间,星期天关门。我希望能找到一种方法,将这些变量也加入到这个等式中 或者考虑这些变化,以便使网站上的指标准确无误 // JavaScript Document var today = new Date(); var dayNow = today.getDay(); var hourNow = to

嘿,我想在零售商店的网站上显示一个被打开的指示器(非常像Yelp的指示器“Open Now”)。我已经弄明白了如何在每天固定的时间里做这件事(下面的例子)

但是这家商店在星期五和星期六有不同的关门时间,星期天关门。我希望能找到一种方法,将这些变量也加入到这个等式中

或者考虑这些变化,以便使网站上的指标准确无误

 // JavaScript Document
var today = new Date(); 
var dayNow = today.getDay();
var hourNow = today.getHours();
var shopStatus


if (dayNow = 0) {
    shopStatus = 'See you on Monday';
}

// Regular Hours for Monday - Thursday  
// night time message 
else if  (hourNow > 21) {
        dayNow < 4
        shopStatus = 'Open at 7am';
}   
// closed hours message
else if (hourNow >18 ) {
        dayNow < 5
        shopStatus = '<p class="red">Closed Now</p>';
}   
// 6:30pm closing soon message
else if (hourNow > 17.5) {
        dayNow < 4
        shopStatus = 'Closing soon';
}   
//  Mon - Thurs. open hours message
else if (hourNow > 7 ) {
        dayNow < 4
        shopStatus = 'Open Now';
}   
// 6:30am opening soon
else if (hourNow > 6.5) {
        dayNow < 4
        shopStatus = 'Opening Soon';
}
document.write('<p>' + shopStatus + '</p>');
//JavaScript文档
var today=新日期();
var dayNow=today.getDay();
var hourNow=today.getHours();
var shopStatus
如果(dayNow=0){
shopStatus=‘星期一见’;
}
//星期一至星期四的正常工作时间
//夜间信息
否则,如果(小时数>21){
dayNow<4
shopStatus='上午7点开门';
}   
//非营业时间信息
否则,如果(小时数>18){
dayNow<5
shopStatus='

现在已关闭

; } //下午6:30即将结束消息 否则,如果(小时数>17.5){ dayNow<4 shopStatus='即将关闭'; } //周一至周四。开放时间讯息 否则,如果(小时数>7){ dayNow<4 shopStatus=‘立即打开’; } //早上6:30即将开张 否则,如果(小时数>6.5){ dayNow<4 shopStatus=‘即将开业’; } 文档。写入(“”+shopStatus+“

”);
如果您希望在中包含多个条件,则应使用

&&用于和

|用于或

如果(条件1==5&&condition2>12){ }


请记住,在比较条件时,应始终使用==而不是=

您可以使用
&&
|
为和创建非常复杂的条件,或者:

if (dayNow == 0) {
  shopStatus = 'See you on Monday'; // Sunday - closed
}
else if ( dayNow == 1 )  && 
   ( hourNow > openingHour ) && 
   ( hourNow < closeToClose ) { // Monday opening hours
  shopStatus = 'message' ;
// next tests... 
通过简单(不那么简单)测试检查状态:

if(
(dayNow<6)和&(dayNow>1)//今天不是太阳/周一/周六
&&(霍尔诺<17.5)和&(霍尔诺>7)
)//它是开着的,或者
|| (
(dayNow==1)| |(dayNow==6)
){//今天是星期一或星期六
document.write(''+shopStatus[0]+'

'); //消息是“打开的” } 否则,如果我认为你在那里
用特定数组索引记录每个状态的所有条件。这个解决方案非常干净,如果需要,以后很容易翻译。我建议对所有条件进行注释,以便于调试


有关更多信息,请参阅。

好的,所以我想出来了,至少现在它可以工作了,我试着在电脑上切换时钟,在几天(星期五和星期六)测试它。让我知道你的想法;但这在我使用它的网站上很有效

var today = new Date(); 
var dayNow = today.getDay();
var hourNow = today.getHours();
var shopStatus

/*dayNow determins if it is Friday, Saturday or Sunday */

if (dayNow == 0 || dayNow == 6 && hourNow > 16) {
  shopStatus = '<p class="orange">See you on Monday'; // Sunday - closed
}
// night message
else if  (hourNow > 21 && dayNow < 5 && dayNow > 0) {
        shopStatus = 'Open at 7am';
}
// Late Friday night message
else if ( dayNow == 5 && hourNow > 21) {
        shopStatus = '<p class="red">Open at 9am</p>';
}
// insert right after closed message
else if ( dayNow == 5 && hourNow > 14) {
        shopStatus = '<p class="red">Closed Now</p>';
}
/*Regular Hours for Monday - Thursday   
closed hours */

else if (hourNow >18 ) {
        shopStatus = '<p class="red">Closed Now</p>';
}   
// 6:30pm closing soon
else if (hourNow > 17.5) {
        shopStatus = 'Closing soon';
}   
//  Mon - Thurs. open hours
else if (hourNow > 7 ) {
        shopStatus = 'Open Now';
}   
// 6:30am opening soon
else if (hourNow > 6.5) {
        shopStatus = 'Opening Soon';
}

document.write('<p>' + shopStatus + ' *</p>');
var today=新日期();
var dayNow=today.getDay();
var hourNow=today.getHours();
var shopStatus
/*dayNow确定是星期五、星期六还是星期天*/
如果(dayNow==0 | | dayNow==6&&hourNow>16){
shopStatus=“

周一见”;//周日-休息 } //夜间信息 如果(hourNow>21&&dayNow<5&&dayNow>0){ shopStatus='上午7点开门'; } //周五晚间消息 如果(dayNow==5&&hourNow>21),则为else{ shopStatus='

上午9点开门; } //在关闭消息后插入 否则如果(dayNow==5&&hourNow>14){ shopStatus='

现在已关闭

; } /*星期一至星期四的正常工作时间 非营业时间*/ 否则,如果(小时数>18){ shopStatus='

现在已关闭

; } //下午6:30即将关门 否则,如果(小时数>17.5){ shopStatus='即将关闭'; } //周一至周四。开放时间 否则,如果(小时数>7){ shopStatus=‘立即打开’; } //早上6:30即将开张 否则,如果(小时数>6.5){ shopStatus=‘即将开业’; } 文档。写入(“”+shopStatus+“*

”);
dayNow<4
这样的语句根本不起作用。另外,我认为您正在寻找的dayNow=0只是将dayNow设置为0
if (
    ( dayNow < 6 ) && ( dayNow > 1) // it's not Sun/Mon/Sat
    && ( hourNow < 17.5 ) && ( hourNow > 7 )
   ) // and it's open, OR
   || (
    ( dayNow == 1 ) || ( dayNow == 6 )
   ) { // it's Monday or Saturday
  document.write('<p>' + shopStatus[0] + '</p>');
    // message is "Open"
}
else if  // I think you are there
var today = new Date(); 
var dayNow = today.getDay();
var hourNow = today.getHours();
var shopStatus

/*dayNow determins if it is Friday, Saturday or Sunday */

if (dayNow == 0 || dayNow == 6 && hourNow > 16) {
  shopStatus = '<p class="orange">See you on Monday'; // Sunday - closed
}
// night message
else if  (hourNow > 21 && dayNow < 5 && dayNow > 0) {
        shopStatus = 'Open at 7am';
}
// Late Friday night message
else if ( dayNow == 5 && hourNow > 21) {
        shopStatus = '<p class="red">Open at 9am</p>';
}
// insert right after closed message
else if ( dayNow == 5 && hourNow > 14) {
        shopStatus = '<p class="red">Closed Now</p>';
}
/*Regular Hours for Monday - Thursday   
closed hours */

else if (hourNow >18 ) {
        shopStatus = '<p class="red">Closed Now</p>';
}   
// 6:30pm closing soon
else if (hourNow > 17.5) {
        shopStatus = 'Closing soon';
}   
//  Mon - Thurs. open hours
else if (hourNow > 7 ) {
        shopStatus = 'Open Now';
}   
// 6:30am opening soon
else if (hourNow > 6.5) {
        shopStatus = 'Opening Soon';
}

document.write('<p>' + shopStatus + ' *</p>');