js是一门异步单线程的语言 浏览器是一个多线程的环境自上而下执行
单线程:同步任务和异步任务只能执行一个
异步任务:
1.定时器
2.ajax
3.事件绑定
setTimeout
setInterval
promise(解决异步 只有在.then和.catch里才是异步)
dom渲染
async await
js把异步任务分为宏任务和微任务
宏任务:(浏览器)
1.定时器
2.ajax
3.事件绑定
setTimeout
setInterval
dom渲染
script
微任务:(Es6)
async await
promise
宏任务(script大的宏任务)执行完毕后 再执行微任务
宏任务里有微任务和宏任务 微任务执行完毕后 再去执行宏任务
宏任务和微任务的关系
宏任务和微任务是交替执行的
js的执行顺序
1.先执行同步代码
2.遇到异步代码 先执行异步代码 然后将异步代码的回调函数放到任务队列中
3.同步代码执行完毕后 去任务队列中取出回调函数执行
4.js的执行机制 就是事件循环机制
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/mingzinpzixiw/article/details/138617844