JavaScript是单线程的,任务的执行时自上而下的,这就有了一个问题,当遇到一个比较耗时的任务时,下面的代码就会被阻塞,这就意味着卡死.所以js是有异步的,它的实现主要是通过事件循环(event loop) 事件循环 JavaScript中的任务分为两种:同步和异步 按照分类,当有任务执行时: 判断是同步还是异步,同步进入主线程,异步进入event table 异步任务在event table中注册函数,当满足触发条件,推入event queue 同步任务进入主线程后一直执行,直到主线程空闲…