setInterval

在windows的浏览器上执行这段代码和在mac上执行这段代码的执行时间差异很大。
此方法是没1ms执行一次输出。为什么windows和mac会有差异呢?mac上明显更慢。

var time =0;

var interval = setInterval(function(){

    time++;

    console.log("time="+time);

    if(time===100){

        clearInterval(interval);

    }

},1);


呼啦一阵风
浏览 510回答 1
1回答

繁星coding

是的,很多时候settimeout和setinterval都不是特别的准的,原因就是js是单线程的setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行而下一次触发时间则是在setInterval回调函数执行完毕之后才开始计时所以如果setInterval内执行的计算过于耗时或者有其他耗时任务在执行,setInterval的计时会越来越不准,延迟很厉害.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript