setTimeout时钟效果
1秒不是等于1000毫秒吗,为啥函数要每隔500毫秒执行一次,而不是1000毫秒?
1秒不是等于1000毫秒吗,为啥函数要每隔500毫秒执行一次,而不是1000毫秒?
2017-01-11
为了提高一点时间的精确度吧,如果不考虑其他因素,如代码执行耗时等等,仅从代码含义来说,每500毫秒执行一次能将所获得时间与标准时间误差控制在500毫秒内。
比如:当你的代码获取时间时,已经是 00:00:01 过 500 毫秒,如果等 1000 毫秒后再次获取,则已经是 00:00:02 过 500 毫秒,依然差了 500 毫秒,但如果 500 毫秒后获取,则刚好是 00:00:02。
再比如:在 00:00:01 过 800 毫秒 时获取时间,此时误差为 800 毫秒,如果等 1000 毫秒后再次获取,时间为 00:00:02 过 800 毫秒,误差依然是 800 毫秒,如果换成隔 500 毫秒去获取,则获取到第二秒的时间是 00:00:02 过 300 毫秒,误差变为 300,控制在 500 以内。
举报