作者:knight | 来源:互联网 | 2020-09-11 00:22
前言
浏览器事件循环,基础面试中大部分都会问的,本文讲讲这个知识点。
事件循环机制
事件循环是负责执行代码、收集和处理事件以及执行队列中的子任务的一套机制。
在事件循环机制中,使用的栈数据结构便是执行上下文栈,每当有函数被调用时,便会创建相对应的执行上下文并将其入栈;使用到堆数据结构主要是为了表示一个大部分非结构化的内存区域存放对象;使用到的队列数据结构便是任务队列,主要用于存放异步任务。如下图:
虽然Node.js也有事件循环,可是它和浏览器的事件循环完全不是一个东西。Node.js采用V8作为js的解析引擎,而I/O处理方面使用了自己设计的libuv,libuv是一个基于事件驱动的跨平台抽象层,封装了不同操作系统一些底层特性,对外提供统一的API,事件循环机制也是它里面的实现。这里不展开讲了,想了解的自己去看文档。
谢谢阅读!
需要加微信交流,可留言!
推荐教程:《JS教程》
以上就是浏览器的事件循环的详细内容,更多请关注 第一PHP社区 其它相关文章!