谈论setTimeout和setInterval

谈论setTimeout和setInterval
当你写新代码,你看到使用setTimeout项目人(好玩,0),所以你要总结。个人理解,如果有错误,请点out.thx

了解Javascript定时器工作,你首先必须了解Javascript引擎是单线程的,这可以理解为Javascript引擎是一个服务员,它有一个队列服务,所有的界面元素的事件,定时触发回调,回调异步请求进行排队,在这个任务队列,等待处理。所有的任务都是最小单位,不中断处理。所以你可以理解setTimeout(好玩,0),执行的代码就不具有代表性,除非任务队列是空的(事实上,在这段时间的实际执行每个浏览器不同的是,浏览器会在4毫秒;长这一点,老版的16ms是可能的),意义(setTimeout的乐趣,时间)是将有趣的回调添加到任务队列中的时间,也就是说,至少需要时间来执行乐趣。

例如:
setTimeout(){()函数(
(1)console.log;
},0);
var=0;
对于(var i = 1;i < 1000000;i + +){
透射电镜;
};
(2)console.log;

显示结果如下

复制代码代码如下所示:




也就是说,在进入实施,将加入函数回调的任务队列中,但不立即执行,因为JS引擎仍然是忙于目前的JS,但只有在这个代码段执行的任务列表中的新任务,结果是第一个显示2显示1。

setInterval(乐趣,时间)的方法是定期向队列添加乐趣。那么,如果游戏的执行时间比时间长,那么问题是什么呢

看一段代码
var = 0;
VAR时间= setInterval()函数(){
var=0;
对于(var i = 1;i < 99999999;i + +){
透射电镜;
};
数字+;
console.log(努姆);
},100);

setTimeout(){()函数(
ClearInterval(时间);
},1000);

这意味着一段代码执行每100ms,和定时器清零后1秒。但是什么样的结果呢

显示结果如下

复制代码代码如下所示:






换句话说,事实上,它没有执行这么多次,也就是说,一些间隔将被跳过,并且可能有一些代码执行间隔可能比预期的要小,结果是当定时器代码添加到队列中时,如果计时器的代码实例存在,计时器代码将被跳过。

引用一张图片是个好主意。
以上是本文的全部内容,希望大家能喜欢。

tag:电脑软件setTimeoutSetInterval

相关内容