我在我的控制台中重复输入了5次:
Date.now();
每次我得到不同的价值:
每个值之间的差异比我预期的要多......
关于为什么的任何想法?
答案 0 :(得分:2)
Date.now()
实际上并没有返回日期。相反,它返回自1970年1月1日00:00:00 UTC以来的毫秒数。
因此,每次在控制台中键入“Date.now()”时,我猜测可能在调用之间经过了半秒或更长时间。因此,您可以预期差异非常大,因为它会返回非常快的毫秒数。
您可以在MDN上阅读更多内容,请参阅this link
答案 1 :(得分:1)
根据您的跑步速度,时间可能会停滞不前,但并非总是如此。我们可以使用科学中经常使用的抽样技术来证明这一原理 - 在下面的代码中,我们将检查数百万个案例,看看时间是否仍然存在。
var i = 1000000;
var stat = {}
while (i-- > 0) {
var diff = Date.now() - Date.now();
stat[diff] = stat[diff]+1 || 1;
}
console.log("Sample Result:",stat)
"Sample Result:" { '0': 999889, '-1': 111 }
正如你所看到的,在大多数情况下(999898),时间实际上是静止的,而在111中它确实会移动。然而,不清楚时间是向前还是向后移动。
我希望这会有所帮助。
答案 2 :(得分:0)
Date.now()返回自1970年1月1日00:00:00 UTC(Unix Epoch)以来经过的毫秒数。