我对JS执行机制的理解

js是一门单线程语言

区分一下进程与线程

1..进程:在执行过程中分配和管理电脑资源的基本单位。

  线程:是进程的一个执行单位,一个程序至少一个进程,一个进程至少一个线程。

多线程:优于单线程,相当于一个工程多人干,是一个道理的,

单线程:有一处出现问题后面的都需要等待,等待前面的执行完毕

解决单线程出现的问题js给出了同步和异步的概念

同步执行:前一个任务执行完,后一个任务才会继续执行

异步执行:前一个任务执行所需时间长,跳过,执行下一个任务。

 js中的异步执行:事件,定时器,资源请求。

定时器是否会定时执行?

  跟执行机制有关,也就是说等同步代码执行完之后,再执行异步代码,同步代码执行的过程中,

会将异步代码存入任务队列,然后等待同步执行执行完毕之后,才会开始定时执行,当然定时执行也是在主线程中执行的

将异步代码提交进主线程在主线程中开始执行。

1.计时器不是从计时器函数执行完之后就开始执行的,而是主线程的代码执行完毕后才会开始计时。

2.主线程在执行的过程中,异步代码会执行,里面的callback会去排队提交。

setTimeout主线程结束完毕后开始计时,执行异步代码,提交到主线程中,onclick只要触发就开始提交

 

 

 

仅供参考,以上是我对js执行机制的理解

 

感谢阅读。

 

posted @ 2020-03-05 17:11  火知火味  阅读(237)  评论(0编辑  收藏  举报