84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
var date = new Date(), i = 1, result = []; for(; i <= 12; i += 1){ date.setMonth(i); date.setDate(0); result.push({ month: i, date: date.getDate() }); } console.table(result);
根据上述代码产生的结果发现,八月份只有三十天,这是为什么?
ringa_lee
你这对于日期函数用的乱七八糟的
首先date.setMonth()是设置月份,从0到11,不是从1到12
然后date.setDate()是设置一个月中的哪一天,是从1到31,不是0
再者,用date.getDate()读取的就是一个月中的某一天,如果有设置过就用设置的值,如果没用设置过就用调用这个函数时当天的值
了解清楚每个函数的参数和作用先
放一张表帮你捋一捋每一步循环,每一步调用设置函数,发生了什么:
你这对于日期函数用的乱七八糟的
首先date.setMonth()是设置月份,从0到11,不是从1到12
然后date.setDate()是设置一个月中的哪一天,是从1到31,不是0
再者,用date.getDate()读取的就是一个月中的某一天,如果有设置过就用设置的值,如果没用设置过就用调用这个函数时当天的值
了解清楚每个函数的参数和作用先
放一张表帮你捋一捋每一步循环,每一步调用设置函数,发生了什么: