首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
V8
订阅
Vey
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
图解 Google V8系列--V8是如何实现async/await的?
我们都知道JavaScript 是基于单线程设计的,最终造成了 JavaScript 中出现大量回调的场景。当 JavaScript 中有大量的异步操作时,会降低代码的可读性, 其中最容易造成的就是回
图解 Google V8系列--V8是如何实现微任务的?
前一篇文章介绍了通用的 UI 线程架构,每个 UI 线程都拥有一个消息队列,所有的待执行的事件都会被添加进消息队列中,UI 线程会按照一定规则,循环地取出消息队列中的事件,并执行事件。而 JavaSc
图解 Google V8系列--V8是怎么实现回调函数的?
我们在使用 JavaScript 时,经常要用到大量的回调函数,比如在浏览器中可以使用 setTimeout 来设置定时器,使用 XMLHTTPRequest 来异步下载资源文件,在 Node 中可以
图解 Google V8 -- 隐藏类:如何在内存中快速查找对象属性?
我们知道 JavaScript 是一门动态语言,其执行效率要低于静态语言,V8 为了提升 JavaScript 的执行速度,借鉴了很多静态语言的特性,比如实现了 JIT 机制,为了提升对象的属性访问速
图解 Google V8 -- V8为什么又重新引入字节码?
在之前的文章里面我们介绍了 V8 的编译流水线,我们知道 V8 在执行一段 JavaScript 代码之前,需要将其编译为字节码,然后再解释执行字节码或者将字节码编译为二进制代码然后再执行。 所谓字节
图解 Google V8 -- V8是如何实现闭包的?
在之前的文章中我们介绍过 V8 执行 JavaScript 代码,需要经过编译和执行两个阶段,其中编译过程是指 V8 将 JavaScript 代码转换为字节码或者二进制机器代码的阶段,而执行阶段则是
图解 Google V8 -- 堆和栈:函数调用是如何影响到内存布局的?
相信你在使用 JavaScript 的过程中,经常会遇到栈溢出的错误,比如执行下面这样一段代码: function foo() { foo() // 是否存在堆栈溢出错误? } foo() V8 就会
图解Google V8 -- 机器代码:二进制机器码究竟是如何被CPU执行的?
在之前的文章中我们已经了解了 V8 的运行时环境,准备好了运行时环境,V8 就可以执行 JavaScript 代码了。在执行代码时,V8 需要先将 JavaScript 编译成字节码,然后再解释执行字
图解 Google V8 -- 运行时环境:运行JavaScript代码的基石
通过前面的文章,相信大家已经理解了 JavaScript 是一门基于对象的语言,它能实现非常多的特性,诸如函数是一等公民、闭包、函数式编程、原型继承等,搞懂了这些特性,现在我们就可以来打开 V8 这个
图解Google V8--类型转换:V8是怎么实现1+“2”的?
前面我们花了很多篇幅聊了 JavaScript 中最基础却很容易被忽略的“对象”,以及 V8 是怎么处理“对象”的,今天我们继续来聊另一个非常基础,同时也是很容易被大家忽略的问题,那就是 JavaSc