上一篇BLOG中,通过测试我们发现 JavaScript的时钟是16ms的间隔. 对于IE来说,每次总会发生16ms的间隔;对于firefox来说,会存在0ms的间隔. 对于后者,我曾解释说:可能是Java使用了自己的时钟.
先说第二种情况,对于firefox中的js引擎,我尚未去看代码,因此我只说"可能",但后来hax来说,firefox的JS引擎仍是C写的,这才想起的确如此.所以这里先说,我前面关于firefox的问题的解释是错的.
再说16ms的问题. 我其实也怀疑,为什么是16ms,而不是其它的什么值呢?
hax给了我很多信息.我这里来整理一下:
首先是取时间值.也就是我们在JavaScript中用new Date()得到时间值采用的方法其实是不准确的. 该值总会是15~16ms的间隔值,其原因在于:
---------------
Windows系统获取时间主要是用下面的几种方法
一:GetTickCount()
这个就是用的上篇里说的系统时钟中断
Windows NT 3.5 及更高版本,精度为 10ms(100Hz)
Windows NT 3.1 ,精度为 16ms(60Hz)
Windows 95 及更高版本,精度为 55ms(18.2Hz)
(对于Windows XP(