JS是单线程——JS为了处理页面中用户交互,以及操作DOM而诞生。比如对某个DOM元素进行添加和删除操作,不能同时进行,意味着所有任务需要排队。导致问题如果JS执行时间过长,造成页面渲染不连贯,导致页面渲染加载阻塞
为了解决这个问题,HTML5推出Web Worker标准,允许JS脚本创建多个线程,于是,JS中出现了同步和异步
// 同步与异步,先执行执行栈中的同步任务,将异步任务放到任务队列中,
// 等待同步任务先执行完毕,异步任务按序执行
consloe.log(111)
setTimeOut(function (){
consloe.log(222)
},1000)
consloe.log(333)
//111 333 222
consloe.log(111)
setTimeOut(function (){
consloe.log(222)
},0)
consloe.log(333)
//111 333 222