简述JS执行机制

JS执行机制

1、讲执行机制之前,我们应该先了解什么是JS中的同步和异步

  • 同步:上一个任务完成才能进入下一个任务
  • 异步:两个或者多个任务可以并行执行

同步任务:都放在主线程的执行栈
异步任务:JS的异步是通过回调函数实现的
异步任务的三种类型:

  • 普通事件,如clickresize等等
  • 资源加载,如loaderror
  • 定时器,包括setIntervalsetTimeout

异步任务相关的回调函数添加到任务队列中(任务队列也称为消息队列)

执行机制

1、先执行执行栈中的同步任务
2、异步任务(回调函数)放入异步任务队列
3、一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列的异步任务,异步任务结束等待,进入执行栈执行

在这里插入图片描述总结:JS执行会先执行我们主线程的同步任务,中途遇见异步任务会通知异步进程,此时不会造成堵塞,同步任务继续执行,当同步任务执行完毕,主线程会监听异步队列,一旦异步队列有异步任务就拿过来执行。异步进程是用来维护异步任务,一旦异步任务达到执行条件就把异步任务给异步队列,然后主线程就监听到拿过来执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值