1.理解js单线程的概念
单线程就是同一时间只能干一件事。
2.理解任务队列
任务分为同步任务与异步任务
同步任务:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。
异步任务:不进入主线程、而进入任务队列的任务,只有 "任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。
3.理解Event Loop
及事件循环,当主进程中的同步任务执行完毕之后,就会去看任务队列中是否有可执行的任务。如有就把其放入主进程中。如此循环往复。
4.理解哪些语句会放入异步任务队列中
setTimeout和setInterval
DOM事件
ES6中的Promise
5.理解语句放入异步任务队列的时机
假设setTimeout设置的事件是1000毫秒,则会在1000毫秒后,把里面的函数(call back)放在异步任务队列中,等待进入主线程。