JavaScript运行机制

本文详细介绍了JavaScript的运行机制,重点讨论了异步执行的步骤,包括宏观任务(Macro Task)和微观任务(Micro Task)的概念。通过具体的代码示例解析了任务队列的工作流程,强调了Promise相对于setTimeout的优先执行特性。
摘要由CSDN通过智能技术生成

本文是对JavaScript运行机制的一个总结性文章,不对一些设计目的做描述,如有不足,希望能够帮助指正

一、JavaScript运行机制

我们先来看一张图大致了解JavaScript的运行机制
在这里插入图片描述

异步执行步骤如下:

1.所有同步任务都在主线程中运行,异步任务会挂起,当异步任务有结果的时候就会在任务队列中放置一个事件(callback)
2.当主线中的同步任务执行完了,会到任务队列中读取可以执行的任务,并放到主线程执行
3.跳到步骤一


二、关键词

Tick

主线程的执行过程就是一个 tick,当主线程的任务被执行完后,就是一个tick结束,然后我们就要进入nextTick

宏任务和微任务

任务队列(消息队列)中存放的是一个个的任务(task),规范中规定 task 分为两大类,分别是 macro task(宏任务)micro task(微任务),并且每个macro task结束后,都要清空所有的 micro task,也就是micro task中存放的任务是执行一个macro task所产生的。

macro task包括:s

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值