js运行机制 (包括宏任务微任务,同步异步,事件循环机制Event Loop)面试常问

文章目录

  • 前言
  • 单线程
  • 同步异步
  • 事件循环机制
  • 宏任务微任务

前言

都到一封私信,相信很多人对一些js运行机制,一看到都是很头疼的问题,那么博主今天彻底整理了一篇js运行机制类的问题,并且分段进行封装,哪里不会点哪里。


提示:以下是本篇文章正文内容,下面案例可供参考

一、单线程

首先,我们都知道js的运行顺序,js是一门单线程语言,js是单线程,js是单线程,js是单线程。一切的多线程,都是通过单线程模拟出来的。


二、同步、异步

1.什么是同步

同步就代表着,假设你现在人在国外,身上并没有现金,但是国外只支持现金,这个时候你需要先往家里打电话,家里人再接了电话,家里人再去银行,银行再向你的账户汇款,这一系列的过程都不可以省略的前提下,叫做同步。

2.什么是异步

那么现在还是上面的例子,还是人在国外,身上没钱,但是这时候呢,我通过发短信的方式联系家里人,家里人看到后自动就会给我汇款,我这时候已经完完全全没有必要一直等着家里人接电话,我发完短信后可以去做其他的事情,从而大大提高了工作效率。


三、事件循环机制

                 这里有掘金的文章里的大佬。他叫:ssssyoki 点击这里进入他的帖子 

 四、宏任务微任务

再次感谢 ssssyoki 的两张图,真的总结的非常好。

这里牵扯到的问题是一个 宏任务微任务执行顺序的问题,你像 setTimeout 、setInterval 都是宏任务promise .then .catch微任务,当这个任务执行的时候,先执行宏任务里的代码,再执行宏任务里面的微任务,只有上一个宏任务执行完毕以后,才会执行下一个宏任务

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
https://www.bilibili.com/video/BV1sR4y1t749?spm_id_from=333.999.0.0
下一篇>>