首先记住3个东西,死记硬背
1:js是单线程的
也就是说js只有一个主线程,只有一个线程在执行逻辑
2: 微任务与微任务队列
new Promise().then()(promise的回调), MutaionObserver(前端的回溯)等属于微任务
3: 宏任务与宏任务队列
宏任务指的是:整体代码<script>,settimeout,setinterval等, node中I/O操作等等
4: 调用栈(执行栈)
所有的任务都是放到调用栈,等待主线程来执行
然后再来理解事件循环,调用栈顾名思义,是以栈的形式存在,遵循着先进先出的逻辑存放任务,也就是调用栈最先存入的函数逻辑被执行后才会轮到下一个,直到栈内没有任务为止。(稍微看一下栈的解释即可回来继续往下看了)
请多用上面链接中的这个例子去理解: