我对JS执行机制的理解
js是一门单线程语言
区分一下进程与线程
1..进程:在执行过程中分配和管理电脑资源的基本单位。
线程:是进程的一个执行单位,一个程序至少一个进程,一个进程至少一个线程。
多线程:优于单线程,相当于一个工程多人干,是一个道理的,
单线程:有一处出现问题后面的都需要等待,等待前面的执行完毕
解决单线程出现的问题js给出了同步和异步的概念
同步执行:前一个任务执行完,后一个任务才会继续执行
异步执行:前一个任务执行所需时间长,跳过,执行下一个任务。
js中的异步执行:事件,定时器,资源请求。
定时器是否会定时执行?
跟执行机制有关,也就是说等同步代码执行完之后,再执行异步代码,同步代码执行的过程中,
会将异步代码存入任务队列,然后等待同步执行执行完毕之后,才会开始定时执行,当然定时执行也是在主线程中执行的
将异步代码提交进主线程在主线程中开始执行。
1.计时器不是从计时器函数执行完之后就开始执行的,而是主线程的代码执行完毕后才会开始计时。
2.主线程在执行的过程中,异步代码会执行,里面的callback会去排队提交。
setTimeout主线程结束完毕后开始计时,执行异步代码,提交到主线程中,onclick只要触发就开始提交
仅供参考,以上是我对js执行机制的理解
感谢阅读。
本文来自博客园,作者:火知火味,转载请注明原文链接:https://www.cnblogs.com/whwa/p/12421299.html