这让我昨晚感到头疼,我想了解为什么Date对象中的getDate方法基于1(返回值为1-31),而getMonth方法基于0(返回0-11).我想知道为什么同一个对象的方法存在这种不一致.
我理解为什么现在很难改变行为,但有没有任何理由这样设计就像这样?
Mag*_*ngs 21
所以我给Brendan Eich发了一条推文,问他这个问题(对于那些不知道他是JS的创造者的人),他的回答是:
@magrangs因为java.util.Date就是这样做的.
https://twitter.com/BrendanEich/status/179610205317902337
很难说,但我怀疑Month是基于0的,所以它可以很容易地用作持有月份名称的月份数组中的索引器
var months = new ["Jan", "Feb", ....]
months[new Date().getMonth()];
Run Code Online (Sandbox Code Playgroud)