您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

用一百个字理解JS运行机制。 <源码交易平台>

  • 时间:2022-07-02 01:30 编辑: 来源: 阅读:275
  • 扫一扫,手机访问
摘要:用一百个字理解JS运行机制。 <源码交易平台>
小回顾一下JS的运行机制:之前的进程和线程细节到前台主要是在渲染过程中进行的,其中包含了少量与JS运行相关的常用线程:JS引擎线程、事件触发线程和定时器线程。 1.JS是单线程JS,分为同步任务和异步任务;同步任务在主线程上执行,形成执行栈;触发线程维护一个事件队列,当异步任务有运行结果时,会添加到事件队列的尾部,等待JS引擎空闲时执行;当执行堆栈中的所有任务完成后,系统将读取事件队列,并将可执行任务添加到执行堆栈中进行执行。 上述过程称为事件循环。 2.宏任务,微任务宏任务:任务队列中的任务(相当于同步任务和部分异步任务:定时器)在执行栈上按顺序执行,每个任务都会被完整执行,过程中不会中断;微任务:一种异步任务,比如promise和MutationObserver,存在于微任务队列中,在执行栈中的任务之间执行(可以在一个队列中执行,所以比setTimeout的响应更快)。JS会循环检查任务队列中是否有微任务。一旦执行堆栈中的任务完成并且有微任务等待,微任务队列中的所有微任务都将被执行。 注:各浏览器之间宏任务和微任务的执行顺序可能会有一些差异,但在总结本文时已经统一了chrome、safari和firefox上的尝试。 3.例3.1例1 console.log('脚本开始');setTimeout(function(){ console . log(' setTimeout ');}, 0);Promise.resolve()。then(function(){ console . log(' promise 1 ');}) .then(function(){ console . log(' promise 2 ');});console.log('脚本结束');执行结果:脚本开始脚本结束promise 1 promise 2 settimeout 3.2示例2 html


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)
【技术支持|常见问题】你正确使用https了吗? [php源码](2022-11-04 10:37)
【技术支持|常见问题】安全超文本传输协议 {源码分享}(2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部