在windows的浏览器上执行这段代码和在mac上执行这段代码的执行时间差异很大。此方法是没1ms执行一次输出。为什么windows和mac会有差异呢?mac上明显更慢。var time =0;var interval = setInterval(function(){ time++; console.log("time="+time); if(time===100){ clearInterval(interval); }},1);
1 回答
繁星coding
TA贡献1797条经验 获得超4个赞
是的,很多时候settimeout和setinterval都不是特别的准的,原因就是js是单线程的
setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行
而下一次触发时间则是在setInterval回调函数执行完毕之后才开始计时
所以如果setInterval内执行的计算过于耗时
或者有其他耗时任务在执行,setInterval的计时会越来越不准,延迟很厉害.
添加回答
举报
0/150
提交
取消