从基础的层面来讲,理解JavaScript的定时器是如何工作的是非常重要的.计时器的执行常常和我们的直观想象不同,那是因为JavaScript引擎是单线程的.我们先来认识一下下面三个函数是如何控制计时器的. 1 var int = self.setInterval("updateMsg()",12000); var id = setTimeout(fn, delay); -- 初始化一个计时器,然后在指定的时间间隔后执行.该函数返回一个唯一的标志ID(Number类型),我们可以使用它…
一,同步和异步的区别: 同步会阻塞代码执行,而异步不会.(比如alert是同步,setTimeout是异步) 二,前端使用异步的场景: 1,定时任务:setTimeout,setInterval 2,网络请求:ajax请求,动态<img>加载 3,事件绑定 三,什么是单线程,和异步有什么关系 1,什么是单线程:只有一个线程,同一时间只能做一件事情,从上到下执行例: // 循环执行期间,JS 执行和DOM渲染暂时卡顿 var i, sum = 0; for(var i = 0; i < 1…