# SUMMARY * [简介](./README.md) * [开篇词 | 如何学习谷歌高性能 JavaScript 引擎V8?](./docs/211673.md) * [01 | V8是如何执行一段JavaScript代码的?](./docs/211682.md) * [02 | 函数即对象:一篇文章彻底搞懂JavaScript的函数特点](./docs/212123.md) * [03 | 快属性和慢属性:V8是怎样提升对象属性访问速度的?](./docs/213250.md) * [04 | 函数表达式:涉及大量概念,函数表达式到底该怎么学?](./docs/215248.md) * [05|原型链:V8是如何实现对象继承的?](./docs/215425.md) * [06|作用域链:V8是如何查找变量的?](./docs/217027.md) * [07|类型转换:V8是怎么实现1+“2”的?](./docs/218499.md) * [08|答疑:如何构建和使用V8的调试工具d8?](./docs/219418.md) * [09 | 运行时环境:运行JavaScript代码的基石](./docs/219066.md) * [10 | 机器代码:二进制机器码究竟是如何被CPU执行的?](./docs/221211.md) * [11 | 堆和栈:函数调用是如何影响到内存布局的?](./docs/221928.md) * [12 | 延迟解析:V8是如何实现闭包的?](./docs/223168.md) * [13 | 字节码(一):V8为什么又重新引入字节码?](./docs/224206.md) * [14|字节码(二):解释器是如何解释执行字节码的?](./docs/224908.md) * [15 | 隐藏类:如何在内存中快速查找对象属性?](./docs/226417.md) * [16 | 答疑: V8是怎么通过内联缓存来提升函数执行效率的?](./docs/226984.md) * [17 | 消息队列:V8是怎么实现回调函数的?](./docs/227926.md) * [18 | 异步编程(一):V8是如何实现微任务的?](./docs/229532.md) * [19|异步编程(二):V8是如何实现async/await的?](./docs/230117.md) * [20 | 垃圾回收(一):V8的两个垃圾回收器是如何工作的?](./docs/230845.md) * [21 | 垃圾回收(二):V8是如何优化垃圾回收器执行效率的?](./docs/232138.md) * [22|答疑:几种常见内存问题的解决策略](./docs/232492.md) * [结束语 | 我的前端学习踩坑史](./docs/233249.md) * [结课测试 | 这些V8的知识你都掌握了吗?](./docs/253657.md)