javascript if else语句与计时器

时间:2017-11-13 11:40:00

标签: javascript if-statement

我有一个&if 39; if else'有效的陈述。但是我想为它添加另一个条件。声明如下:

function showDateContent(){
 var d=new Date();
  if(d.getDate()>=11&& d.getMonth()+1 == 11){
   //show something
 }else{
   //show something else
    }
  }

showDateContent();

我想写的条件语句就像这样(下面),但它似乎不起作用。请注意,当第一个语句中的日期介于两个数字之间时,我试图让某些事情发生,然后我有两个类似于我的第一个例子的条件语句。

function showDateContent(){
 var d=new Date();
  if(d.getDate()> 11 && d.getDate()< 13 && d.getMonth()+1 == 11){
   //show something when the date is between 11 and 13
} else if(d.getDate()>=14&& d.getMonth()+1 == 11){
   //show something when the date is equal or past the date of the 14th
  }else{
   //show something else when the date is before the 11th
    }
  }
}

showDateContent();

2 个答案:

答案 0 :(得分:1)

尝试使用 console.log()打印浏览器所拥有的日期和月份,然后使用基于它的if和else语句..

因为在印度这是13-11-2017,你还没有处理日期= 13的任何事情,所以当我尝试你的代码时,这是最后一部分

function showDateContent(){
 var d=new Date();
console.log(d.getDate(), d.getMonth());   // prints 13   10
  if(d.getDate()> 11 && d.getDate()< 13 && d.getMonth()+1 == 11){
   console.log("show something when the date is between 11 and 13");
  } else if(d.getDate()>=14&& d.getMonth()+1 == 11){
   console.log("show something when the date is equal or past the date of the 14th");
  } else {
   console.log("how something else when the date is before the 11th");
   }
}

showDateContent();

但是当我执行d.getDate()<= 13时,它会进入下面代码中给定的if

if(d.getDate()> 11 && d.getDate()<= 13 && d.getMonth()+1 == 11){
 console.log("show something when the date is between 11 and 13");
}

还有一个额外的&#34;}&#34;在您的代码的最后一行中括起来并不是必需的。

答案 1 :(得分:0)

您应首先检查月份是否正确

if(d.getMonth() + 1 == 11) {
...
}

然后你有3个案例:

if(d.getDate() < 11) {

} else if(d.getDate() > 13) {

} else {

}

所以你明白了:

 if(d.getMonth() + 1 == 11) {

       if(d.getDate() < 11) {

       } else if(d.getDate() > 13) {

       } else {

       }
    }