图解 Google V8
一门课搞懂 JavaScript 执行逻辑
李兵  前盛大创新院高级研究员
专栏
已完结·共 25 讲
|
2.7w 人已学
|
收藏
因为 JavaScript 是基于词法作用域的,词法作用域就是指,查找作用域的顺序是按照函数定义时的位置来决定的
来自:06|作用域链:V8是如何查找变量的?
13 人划过
如果引用了外部的变量,预解析器会将栈中的变量复制到堆中
来自:12 | 延迟解析:V8是如何实现闭包的?
12 人划过
函数除了可以拥有常用类型的属性值之外,还拥有两个隐藏属性,分别是 name 属性和 code 属性
来自:02 | 函数即对象:一篇文章彻底搞懂JavaScript的函数特点
12 人划过
作用域链是沿着函数的作用域一级一级来查找变量的,而原型链是沿着对象的原型一级一级来查找属性的,
来自:05|原型链:V8是如何实现对象继承的?
8 人划过
前端这门手艺,栈底到栈顶依次是浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等,
来自:结束语 | 我的前端学习踩坑史
6 人划过
V8 都会重新创建栈,然后随着宏任务中函数调用,栈也随之变化
来自:18 | 异步编程(一):V8是如何实现微任务的?
4 人划过
编写的程序频繁触发垃圾回收,那么无疑会阻塞主线程
来自:开篇词 | 如何学习谷歌高性能 JavaScript 引擎V8?
4 人划过
尽量使用字面量一次性初始化完整对象属性。
来自:15 | 隐藏类:如何在内存中快速查找对象属性?
3 人划过
这就是通用的 UI 线程的结构,有消息队列,通过鼠标、键盘、触控板等产生的消息都会被添加进消息队列,主线程会循环地从消息队列中取出消息并执行。
来自:17 | 消息队列:V8是怎么实现回调函数的?
3 人划过
async 是一个可以暂停和恢复执行的函数
来自:19|异步编程(二):V8是如何实现async/await的?
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

李兵

前盛大创新院高级研究员

李兵,《浏览器工作原理与实践》课程作者,前盛大创新院高级研究员,在浏览器和前端开发领域深耕了十余年。曾在盛大创新院参与 WebOS 项目,在顺网科技带领团队打造了一款给全国网吧使用的“F1 浏览器”,目前致力于为企业提供前端项目咨询和浏览器研发的基础服务。
编辑推荐
讲师的其他课程
浏览器工作原理与实践
李兵
前盛大创新院高级研究员

46讲 | 56424 人已学习

¥59¥129
包含这门课的学习路径

前端工程师

24门课程 109.3w人学习
看过的人还看了
浏览器工作原理与实践
李兵
前盛大创新院高级研究员

46讲 | 56424 人已学习

¥59¥129
重学前端
程劭非(winter)
前手机淘宝前端负责人

57讲 | 105381 人已学习

¥59¥129
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283811 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 181013 人已学习

¥98¥399
设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者

113讲 | 123476 人已学习

¥98¥299
趣谈网络协议
刘超
前网易研究院云计算技术部首席架构师

51讲 | 130457 人已学习

¥68¥199