JavaScript 执行上下文与提升机制深度解析
1. 理解 JavaScript 执行上下文
JavaScript 代码执行时,需在特定环境中进行,这个环境被称作“执行上下文”。它涵盖代码执行可访问的一切元素,如 this 的值、当前作用域的变量以及函数参数等。每次执行 JavaScript 代码前,都会创建一个执行上下文。
执行上下文有两种主要类型,表格展示如下:
| 类型 | 描述 |
| ---- | ---- |
| 全局执行上下文 | 加载 JavaScript 代码时创建的基础上下文,全局代码(非函数内的代码)在此执行,包含全局变量、函数、 this 的值,外部环境引用为 null |
| 函数执行上下文 | 调用 JavaScript 函数时创建,用于执行该函数,包含函数内声明的变量和函数、当前函数调用中 this 的值、外部环境引用以及传递给函数的参数 |
还有一种为 eval 函数内代码执行创建的执行上下文,但因安全问题, eval 函数使用受限,这里不做讨论。
执行上下文有两个阶段:
1. 创建阶段 :创建全局和函数执行上下文。此阶段,变量声明和函数引用以键值对形式保存,设置 this 的值和外部环境引用。变量值暂不分配, var 声明的变量赋值为 undefined ,
超级会员免费看
订阅专栏 解锁全文
3481

被折叠的 条评论
为什么被折叠?



