单线程中有一些任务需要耗费一些时间,让用户去等待确认,把一些耗时的事情任务通过新开的线程方式来实现,浏览器会针对对于那些耗时间的任务,会开一些新的进程单独去处理
主线程继续往下走,那么这个时候,它既不影响后续代码的执行...4");
// true表示异步,ajax的事情还没有处理完成的时候,我们点击div,可以立马变色,ajax的事情并不影响当前页面中其他效果,开启了一个新的线程去完成ajax...JS是单线程的,那肯定只能同步(排队)顺序执行代码,是没有疑问的,写同步代码的好处就是好理解,坏处就是容易阻塞,只能等待上一次任务做完了,在接着做下一个任务....,会将它安排到一个任务队列中挂起状态,浏览器重新开一个新的线程单独处理它,它并不会阻塞主线程的代码,当主线程任务处理完了,有空闲时,此时,等待执行异步任务队列中的事情
异步处理在js中是一个非常重要的问题...在遇到复杂的业务逻辑时,处理异步任务肯定是绕不过的,所以还是有必要去了解浏览器解析代码的流程,执行顺序的.