因为 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 人划过
*精彩内容为该课程各文章中划线次数最多的内容
编辑推荐
讲师的其他课程
包含这门课的学习路径
前端工程师
24门课程 109.3w人学习
看过的人还看了