一、JavaScript的单线程
从一诞生,JavaScript 就是单线程,这已经成了这门语言的核心特征,将来也不会改变。
为了利用多核 CPU 的计算能力,HTML5 提出 Web Worker 标准,允许 JavaScript 脚本创建多个线程,但是子线程完全受主线程控制,且不得操作 DOM。所以,这个新标准并没有改变 JavaScript 单线程的本质。
二、微任务,宏任务
因为js是单线程,所以在js执行的时候代码从上往下执行,先执行同步代码,在同步代码执行完毕之后,执行异步代码,
任务执行
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/d3726b486a1d76fefd44aa91f9059c32.png#pic_center#pic_center)
setTimeout(() => {
console