📄️ 00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?
V8 是 JavaScript 虚拟机的一种。
📄️ 01丨V8是如何执行一段JavaScript代码的?
本节的目的是对 V8 做一个宏观的、全面的介绍。
📄️ 02|函数即对象:一篇文章彻底搞懂JavaScript的函数特点
JavaScript 中的函数称为一等公民
📄️ 03|快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?
在 V8 实现对象存储时,并没有完全采用字典的存储方式,这主要是出于性能的考量。因为字典是非线性的数据结构,查询效率会低于线性的数据结构,V8 为了提升存储和查找效率,采用了一套复杂的存储策略。
📄️ 04|函数表达式:涉及大量概念,函数表达式到底该怎么学?
函数表达式
📄️ 05|原型链: V8是如何实现对象继承的?
继承就是一个对象可以访问另外一个对象中的属性和方法
📄️ 06|作用域链:V8是如何查找变量的?
作用域链就是将一个个作用域串起来,实现变量查找的路径。
📄️ 07丨类型转换:V8是怎么实现1+“2”的?
在 JavaScript 中,“1+‘2’等于多少?
📄️ 08丨答疑:如何构建和使用V8的调试工具d8?
构建和使用V8的调试工具d8
📄️ 09丨运行时环境:运行JavaScript代码的基石
运行时环境
📄️ 10丨机器代码:二进制机器码究竟是如何被CPU执行的?
V8 首先需要将 JavaScript 编译成字节码或者二进制代码,然后再执行。
📄️ 11丨堆和栈:函数调用是如何影响到内存布局的?
堆和栈
📄️ 12丨延迟解析:V8是如何实现闭包的?
延迟解析
📄️ 13丨字节码(一):V8为什么又重新引入字节码?
字节码
📄️ 14|字节码(二):解释器是如何解释执行字节码的?
字节码
📄️ 15|隐藏类:如何在内存中快速查找对象属性?
隐藏类
📄️ 16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?
内联缓存
📄️ 17丨消息队列:V8是怎么实现回调函数的?
事件循环和垃圾回收
📄️ 18丨异步编程(一):V8是如何实现微任务的?
事件循环和垃圾回收
📄️ 19|异步编程(二):V8是如何实现async-await的?
事件循环和垃圾回收
📄️ 20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?
事件循环和垃圾回收
📄️ 21丨垃圾回收(二):V8的两个垃圾回收器是如何工作的?
事件循环和垃圾回收
📄️ 22|答疑:几种常见内存问题的解决策略
事件循环和垃圾回收
📄️ 23丨结束语丨我的前端学习踩坑史.html
结束语