setInterval()能设置毫秒级别的循环周期吗?

今天用定时器做了一个倒计时,精确到毫秒级别,结果问题就出来了,1秒内的倒计时整整晚了十几秒。

怀疑是代码执行超过了1ms,但打出来log看看了,都是在1ms内完成。

后来怀疑是setInterval的问题,检查了以下,果然发现前一次结束到第二次开始之间的时间远远大于1ms,在我的两台配置不同的电脑上分别是20+ms和10+ms。

看来setInterval虽然可以以毫秒级的周期执行,但实际上完全达不到ms级的效果,在以后使用的时候可得小心。