【发布时间】:2016-03-07 13:02:16
【问题描述】:
我的问题是关于以下代码:
var d = new Date();
var weekday = ["su", "mo", "tu", "we", "th", "fr", "sa"];
var deliver = weekday[d.getDay()];
if(condition){
if(d.getDay() == 1){
d.setHours(d.getHours() + 24); // adds a day
}
if(d.getUTCMonth() == 0 && d.getUTCDate() == 1){
// do something
} else {
// version 1 or version 2
}
}
//version 1: var deliver = weekday[d.getDay()];
// document.getElementById("leverdatum").innerHTML = deliver;
//version 2: document.getElementById("leverdatum").innerHTML = deliver;;
为什么,如果我使用版本 1,输出是“tu”,如果我使用版本 2,输出是“mo”?
【问题讨论】:
-
因为这个?
d.setHours(d.getHours() + 24); // adds a day。由于变量托管,您不应该将var放在块语句中,这可能会消除一些混乱。 -
我认为这比你所展示的更多——你如何看待这个输出?额外的
var不会有任何区别,它在同一个范围内。 -
如果
condition是false它不会执行+24h。我认为这就是 OP 的意思。 -
是的,我不太明白。你希望
deliver;做什么?
标签: javascript