关于setInterval的问题

setInterval指定的是“开始执行”之间的间隔,并不考虑每次任务执行本身所消耗的时间。因此实际上,两次执行之间的间隔会小于指定的时间。比如,setInterval指定每100ms执行一次,每次执行需要5ms,那么第一次执行结束后95毫秒,第二次执行就会开始。如果某次执行耗时特别长,比如需要105毫秒,那么它结束后,下一次执行就会立即开始。 这句话有错误吗??

阅读 3.5k
3 个回答

setInterval我的理解是两次事件执行的时间间隔,你需要将事件看做一个时间点,而不是时间段,不要将事件的执行时间和setInterval的时间间隔搞混了。具体的你要通过代码来验证下就知道了。(就比如你高中学物理的时候不是也有类似这个问题的吗,你主要是要搞清楚定义。)

推荐问题
宣传栏