2、JavaScript 执行上下文与提升机制深度解析

JavaScript 执行上下文与提升机制深度解析

1. 理解 JavaScript 执行上下文

JavaScript 代码执行时,需在特定环境中进行,这个环境被称作“执行上下文”。它涵盖代码执行可访问的一切元素,如 this 的值、当前作用域的变量以及函数参数等。每次执行 JavaScript 代码前,都会创建一个执行上下文。

执行上下文有两种主要类型,表格展示如下:
| 类型 | 描述 |
| ---- | ---- |
| 全局执行上下文 | 加载 JavaScript 代码时创建的基础上下文,全局代码(非函数内的代码)在此执行,包含全局变量、函数、 this 的值,外部环境引用为 null |
| 函数执行上下文 | 调用 JavaScript 函数时创建,用于执行该函数,包含函数内声明的变量和函数、当前函数调用中 this 的值、外部环境引用以及传递给函数的参数 |

还有一种为 eval 函数内代码执行创建的执行上下文,但因安全问题, eval 函数使用受限,这里不做讨论。

执行上下文有两个阶段:
1. 创建阶段 :创建全局和函数执行上下文。此阶段,变量声明和函数引用以键值对形式保存,设置 this 的值和外部环境引用。变量值暂不分配, var 声明的变量赋值为 undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值