js的执行机制

         Js是单线程执行

 

进程: 应用程序 都可以算是一个进程 几乎所有的应用程序都是多进程

线程: 每个进程里的最小单位就是线程

 

多线程好 共作效率高,但是js这门语言是操作dom,就相当于我们盖房子,前面的没盖好,后面的就没法操作。单线程,有一处出现问题,后面的都需要等待。

为了解决单线程出现的问题js提供了同步和异步这两个概念

同步执行: 前一个任务执行完了,才能执行后一个任务,这种事同步执行 相当于盖房子

异步执行: 前一个任务执行时花费时间过长,无需等待,执行下一个任务,这时异步。相当于做饭,煮饭的时候还可以炒菜。

         Js的异步执行: 事件  定时器  资源请求 才是异步。

  案例:

 

 

 

 分析:

  1. 计时器不是从计时器函数执行后就开始计时,而是主线程的代码执行完毕之后才开始计时
  2. 主线程执行的过程中,setTimeout onclick等会执行,只是里面的callback会去排队提交。

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

posted @ 2020-03-05 19:00  一笑i  阅读(142)  评论(0)    收藏  举报