我一直在浏览器和运行时检查日期功能
在开发工具控制台中 new Date (null, null, null);
,它提供了有效的日期
chrome v 61 return
Sun Dec 31 1899 00:00:00 GMT + 0530(IST)
和firefox DeveloperEdition v 56返回
日期1899-12-30T18:30:00.000Z
为什么呢?
P.S。:还尝试了new Date(0,0,0)
和new Date([],[],[])
,它的行为与上述相同,并输出有效日期。
所以在Date对象中使用null时会被视为0吗?
有人请解释行为和链接以了解此行为
答案 0 :(得分:1)
根据latest drafts of the specs on Date(year, month [ , date ...) ] constructor,何时
- 2 - 断言numberOfArgs≥2
[...]- 4
- a - 我们是吗? ToNumber(年)。
- b - 我是吗? ToNumber(一个月)。
- c - 如果有日期,请问dt是? ToNumber(日期);否则让dt为1 ...
ToNumber(您传递的所有值)返回0
是。
console.log( +null, +0, +[] );