如果event.timeStamp
和Date.getTime()
同时获取,它们会返回相同的值吗?
例如,我可以使用getTime()
来计算自事件发生以来经过的时间吗?或者这两个可能使用不同的epoch/引用?
不,它们总是在同一个参考上,即UTC,它是所有日期内部存储的时区。
您也可以使用Date.now()
。
这取决于浏览器。
使用以下HTML文档,我使用不同的浏览器得到了不同的结果:
<!DOCTYPE html>
<html>
<body>
<div id="foo">onclick delay:</div>
<button onclick='var n=document.getElementById("foo"); n.innerHTML="onclick delay: "+((new Date).getTime()-event.timeStamp)+"ms"'>Click</button>
</body>
</html>
屏幕上打印的延迟为:
Firefox:大量
IE:-4ms。。0ms
铬:0ms。。2ms
Opera:0ms。。2ms
=>如果你的代码应该在不同的浏览器中工作,你就不能真正使用它。