首页 > 解决方案 > .toLocaleDateString() 的 Javascript 日期对象有趣的行为

问题描述

对不起,如果这是一个新手问题......我有这个工作正常:

let date = new Date(2021, 0, 12);
dates = [];
for (let i = 0; i < 30; i++) {
  date.setDate(date.getDate() + 1);
  const dateString = date.toLocaleDateString();
  dates.push(dateString);
}
console.log(dates);

都好。但是如果没有新变量“dateString”,我会看到一个我不太理解的有趣行为。最初我试图这样做:

let date = new Date(2021, 0, 12);
let dates = [];
for (let i = 0; i < 30; i++) {
  date.setDate(date.getDate() + 1);
  date = date.toLocaleDateString(); // change same var instead of new var
  dates.push(date);
}
console.log(dates);

这会引发以下错误:TypeError: date.getDate is not a function。为什么日期对象的行为要反向改变?

标签: javascriptdatetypeerror

解决方案


推荐阅读