所以我尝试了W3Schools的示例,并且得到了。
function day() {
var day = new Date();
var week = new Array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);
for (i = 0; i < week.length; i++) {
console.log(week[day.getDay(i) + 1]);
}
}
day();
" 1"让您明天的日期,但是当您到达循环末端时会发生什么?假设今天是星期五,我想待三天,星期一回来为"未定义",因为它已经过去了。
有什么方法可以开始循环?从我所看到的,继续/休息不起作用。
关于如何获得今天的日期和接下来的几个更好的建议,以使循环不会破裂?
i
不会改变一天,因为.getDay()未处理任何参数。使用模量操作员%
在一周的7天左右包装。在下面运行摘要以查看其有效。
function day() {
var day = new Date();
var week = new Array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);
for (i = 0; i < 14; i++) {
console.log(week[(day.getDay() + 1 + i) % 7]);
}
}
day();
我发现这是在循环中每天创建每一天的最佳方法:
function days() {
var day = new Date();
var week = new Array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);
for (i = 0; i < 7; i++) {
console.log(week[(day.getDay() + i) % 7]);
}
}
days();
使用'%'运算符。
function day() {
var day = new Date();
var week = new Array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);
for (i=0; i<week.length; i++) {
var num = (day.getDay(i)+3)%7;
console.log(week[num]);
}
}