首页 > Web开发 > 详细

JS执行机制

时间:2020-03-05 23:45:34      阅读:72      评论:0      收藏:0      [点我收藏+]

js是单线程执行,js是操作dom,由于是单线程,只要有一处问题,就会中断执行;

为了解决单线程的这个弊端,出现了同步和异步两个概念,

同步执行:前一个任务执行完了,才能执行后一个任务,一旦有问题,就会终止执行。

js代码基本都是同步执行

异步执行:前一个任务执行时花费时间过长,无需等待,执行下一个任务,这是异步,异步再执行过程中,依次排到任务队列中,等主线程执行完毕,依次执行。

 

异步执行有事件,定时器,资源请求才是异步。

由于定时器是异步执行,定时器不会准确的定时执行,主线程执行的时候,依次排到任务队列中,等主线程执行完毕,依次执行,所以会有5ms左右的延迟。主线程执行的过程中,异步执行等会执行,只是里面的callback会去排队提交。

 

SetTimeout等主线程结束后开始计时,达到计时时间就提交任务,onclick只有触发这个事件就提交任务。

定时器例子:

for(var i=0;i<5;i++){

  var t=setTimeout (function(){

 

     console.1og(i)

     clearTimeout(t)

  },1000)

}

画图分析:

技术分享图片

 

 

 

 

 

 

 

JS执行机制

原文:https://www.cnblogs.com/lichaochao/p/12423787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!