# 基础
进程:cpu 资源分配的最小单位
线程:cpu 调度的最小单位、线程是建立在进程上的基础运行单位(通俗点解释线程就是程序中的一个执行流,一个进程可以有多个线程)
JS是单线程
JS 在 Browser 和 Nodejs 环境种运行
# 前言--Browser(浏览器)环境
Browser(浏览器)是多进程应用 - Browser进程 - 渲染进程(重) - GUI GUI渲染线程 - JS引擎线程 - 事件触发线程 - 定时触发器线程 - 异步http请求线程 - 第三方插件进程 - GPU进程
# JS 运行机制
事件循环(Event Loop)初探 - 执行栈 & 任务队列 - 同步任务 - 异步任务 - 微任务 - promise(then,catch,finally) - async/await - Object.observe - MutationObserve - 宏任务 - 主体代码 - setTimeout & setInterval
# 备注
启用宏任务API setTimeout(()=>{},time)、setInterval(()=>{},time)
启用微任务API(ES2017) queueMicrotask(()=>{})