Javascript 在提前两个月停车的情况下,你会这样做吗? var-date=新日期(); 做{ var sel=date.toString(); 文件。写入(sel+“”); date.setDate(date.getDate()+1); }while(date.getDate()!=2和&date.getMonth()!=2)

Javascript 在提前两个月停车的情况下,你会这样做吗? var-date=新日期(); 做{ var sel=date.toString(); 文件。写入(sel+“”); date.setDate(date.getDate()+1); }while(date.getDate()!=2和&date.getMonth()!=2),javascript,Javascript,为什么这会在1月1日停止?因为在第二次迭代中,.getDate是2。while无法执行。如果希望在完成2后停止,则需要将其增加到3 如果您在代码中更明确地说明要添加到日期中的内容,这也不会有什么坏处。因为在第二次迭代中,.getDate是2。while无法执行。如果希望在完成2后停止,则需要将其增加到3 如果您在代码中更明确地说明要添加到日期中的内容,也不会有什么坏处。当您在3月或2日时。每个月的某一天,您的循环将不再执行。这是因为月份从0开始,所以一月是0,十二月是11。当你到达三月或二月时。

为什么这会在1月1日停止?

因为在第二次迭代中,
.getDate
是2。while无法执行。如果希望在完成2后停止,则需要将其增加到3


如果您在代码中更明确地说明要添加到日期中的内容,这也不会有什么坏处。

因为在第二次迭代中,
.getDate
是2。while无法执行。如果希望在完成2后停止,则需要将其增加到3


如果您在代码中更明确地说明要添加到日期中的内容,也不会有什么坏处。

当您在3月或2日时。每个月的某一天,您的循环将不再执行。这是因为月份从0开始,所以一月是0,十二月是11。

当你到达三月或二月时。每个月的某一天,您的循环将不再执行。这是因为月份从0开始,所以一月是0,十二月是11。

在javascript中,一月从索引0开始。您需要根据自己的需要相应地调整循环。

在javascript中,一月从索引0开始。您需要根据需要相应地调整循环。

我相信月份从0开始,因此在1月1日。getMonth()==0,这!=2.

我相信月份从0开始,所以在1月1日。getMonth()==0,这!=2.

因为在1月2日,第一个条件返回false,执行停止。我假设您希望脚本一直持续到2月2日,在这种情况下,您的情况应该如下所示:

var date = new Date(); 
do {
    var sel = date.toString();
    document.write(sel + "<br>");
    date.setDate(date.getDate()+1);
   } while(date.getDate() != 2 && date.getMonth() != 2)
} while(!(date.getDate() == 2 && date.getMonth() != 1))
或:

两者的意思相同。请注意,月份的索引为零,因此二月为1。这将产生如下输出:

var date = new Date(); 
do {
    var sel = date.toString();
    document.write(sel + "<br>");
    date.setDate(date.getDate()+1);
   } while(date.getDate() != 2 && date.getMonth() != 2)
} while(!(date.getDate() == 2 && date.getMonth() != 1))


因为在1月2日,第一个条件返回false,执行停止。我假设您希望脚本一直持续到2月2日,在这种情况下,您的情况应该如下所示:

var date = new Date(); 
do {
    var sel = date.toString();
    document.write(sel + "<br>");
    date.setDate(date.getDate()+1);
   } while(date.getDate() != 2 && date.getMonth() != 2)
} while(!(date.getDate() == 2 && date.getMonth() != 1))
或:

两者的意思相同。请注意,月份的索引为零,因此二月为1。这将产生如下输出:

var date = new Date(); 
do {
    var sel = date.toString();
    document.write(sel + "<br>");
    date.setDate(date.getDate()+1);
   } while(date.getDate() != 2 && date.getMonth() != 2)
} while(!(date.getDate() == 2 && date.getMonth() != 1))

检查

1月1日的getDate==2

编辑:如果需要,请转到2.02,在检查中检查代码

1月1日的getDate==2



编辑:如果需要,请转到2.02,检查中的代码,这样它就不会在1月1日停止。。。条件是真实的,事实也是如此!我一定是把这个问题想错了。谢谢。所以它不应该在1月1日停止。。。条件是真实的,事实也是如此!我一定是把这个问题想错了。谢谢。当getMonth为0时,若getDate为2,为什么它不能执行呢?因为该条件的计算结果为false,从while中删除。getDate!=2-->错误。false&&true==false。当getMonth为0时,若getDate为2,为什么它不能执行呢?因为该条件的计算结果为false,它会在while中消失。getDate!=2-->错误。false&&true==false。第一个应该在getDate==2或getMonth==1时停止。这没有道理。第二个在1月1日停止。@Meke,你能描述一下你想做什么吗?我提供的例子是有效的,有效的,意思完全一样,都在2月1日停止。看一看我发布的URL。@Meke,在做出这样的评论之前,你应该测试代码,@Tatu Ulmanen在第一个上是正确的,这是有意义的。第一个应该在getDate==2或getMonth==1时停止。这没有道理。第二个在1月1日停止。@Meke,你能描述一下你想做什么吗?我提供的例子是有效的,有效的,意思完全一样,都在2月1日停止。看一看我发布的URL。@Meke,在做出这样的评论之前,你应该测试一下代码,@Tatu Ulmanen在第一个上是正确的,这是有意义的。在你的代码中,当
getMonth()==2
getDate()==2
时,将停止。在我的代码中,它在
getMonth()==1
getDate()==3
时停止。检查哦,很有趣。谢谢你的链接!请允许我向更多的读者指出,以上这是一个正确的答案,因为它详细说明了为什么它是正确的。不仅仅是在代码中声明“你错了,我是对的。”(因此我希望我能投两次票)而当
getMonth()==2
getDate()==2
时,将停止。在我的代码中,它在
getMonth()==1
getDate()==3
时停止。检查哦,很有趣。谢谢你的链接!请允许我向更多的读者指出,以上这是一个正确的答案,因为它详细说明了为什么它是正确的。不只是说“你错了,我是对的。”(因此,我希望我能投两次赞成票)