当前位置: 首页 > wzjs >正文

创建众筹网站商标设计网址

创建众筹网站,商标设计网址,网站开发接私活的经理,哪种是网页制作的工具JavaScript 的循环机制核心是 事件循环(Event Loop),它协调同步任务和异步任务的执行。以下是详细解释: 核心概念 单线程模型 JavaScript 是单线程语言,所有任务按顺序执行,但通过 事件循环 实现异步非阻塞…

JavaScript 的循环机制核心是 事件循环(Event Loop),它协调同步任务和异步任务的执行。以下是详细解释:


核心概念

  1. 单线程模型
    JavaScript 是单线程语言,所有任务按顺序执行,但通过 事件循环 实现异步非阻塞。
  2. 事件循环组成
    -调用栈(Call Stack):存放同步任务的执行上下文(函数调用),后进先出(LIFO)。
    -任务队列(Task Queue):存放待处理的异步回调(分为宏任务和微任务)。
    -事件循环(Event Loop):持续检查调用栈是否为空,若为空则从任务队列中取出任务执行。

异步任务分类

  1. 宏任务(MacroTask)
    -来源:setTimeout、setInterval、I/O 操作、UI 渲染、requestAnimationFrame、事件回调。
    -队列:独立的宏任务队列。
  2. 微任务(MicroTask)
    -来源:Promise.then/catch/finally、MutationObserver、queueMicrotask、process.nextTick(Node.js)。
    -队列:独立的微任务队列,优先级高于宏任务。

事件循环流程

  1. 执行同步代码
    所有同步任务进入调用栈并执行。
  2. 处理微任务队列
    调用栈清空后,按顺序执行所有微任务(包括微任务中产生的微任务)。
  3. 处理宏任务队列
    每次从宏任务队列中取出一个任务执行(浏览器可能执行渲染更新)。
  4. 循环重复
    重复步骤 1~3,形成事件循环。

执行顺序示例

console.log("Start"); // 同步setTimeout(() => console.log("Timeout"), 0); // 宏任务Promise.resolve().then(() => console.log("Promise 1")) // 微任务.then(() => console.log("Promise 2")); // 微任务console.log("End"); // 同步

输出顺序:

Start
End
Promise 1
Promise 2
Timeout

步骤解析:

  1. 同步任务:Start → End。
  2. 微任务队列:执行所有微任务(Promise 1 → Promise 2)。
  3. 宏任务队列:执行 Timeout。

常见问题场景

// 问题:为什么 Timeout 最后输出?
setTimeout(() => console.log("Timeout"), 0);Promise.resolve().then(() => console.log("Promise"));// 答案:微任务在宏任务之前执行

总结

  • 同步任务:立即执行,阻塞调用栈。
  • 微任务:调用栈清空后立即执行(优先级最高)。
  • 宏任务:在微任务队列清空后执行(每次取一个)。

掌握事件循环机制能有效解决异步代码顺序问题,避免常见陷阱(如 setTimeout 延迟不精确)。

http://www.dtcms.com/wzjs/580844.html

相关文章:

  • 网站建设捌金手指专业5如何搭建一个自己的网站
  • 药品网站网络营销推广怎么做免费自建网站
  • 网站地址查询最新区域名花卉市场网站建设基本步骤
  • 网站建设 上寻模板郑州网站推广招聘
  • 寮步营销型网站建设价格wordpress_ joomla_ drupal
  • 急速浏览器打开新网站wordpress英文写作插件
  • 网站开发中 整体框架的架构网站与支付宝对接
  • 网站 注册模块怎么做百家号官网
  • 网站服务器在哪里买好wordpress 插件 注入
  • 阿里巴巴企业网站建设百度2018旧版下载
  • 做蛋糕视频教学网站企业网络广告推广方案
  • 怎么查看网站是哪个公司建的韩国网站 后缀
  • 滨州内做网站系统的公司台州cms建站系统
  • 网站建网站建设网站站网站杭州专业的程序开发公司
  • 手机网站关闭窗口代码网站下雪代码
  • 做背景图 网站腾讯云网站备案流程图
  • 中国空间站组合体网站图标在哪里修改
  • 在哪家网站做外贸比较好学校网站建设汇报ppt
  • 如何快速用手机做网站东莞龙岗网站建设
  • 商务网站建设考试题库长沙网站制作电话
  • 掌握商务网站建设策略赣州市建设工程质量监督管理站网站
  • 建设一个网站的意义个人做收费网站
  • 昆山做网站的公司有哪些定制网站开发都提供那些东西
  • 重庆金融公司网站建设delphi7 网站开发
  • 网站开发 沈阳青岛市房产信息网官网
  • 网络直播网站建设创意视频制作app
  • ico加网站渗透wordpress
  • 检察院门户网站建设方案用织梦做的网站好用吗
  • 微信小程序和网站开发有什么区别微信小程序在线玩
  • 网站建设提供的网站资料如何做一个个人网页