Webcourse/04-JavaScript基础/20-作用域链.md
2019-12-13 15:28:05 +08:00

36 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 一些概念
### 作用域和作用域链
**作用域**
每个 JS 函数都是一个对象,对象中有些属性我们可以访问,有些属性我们不可以访问。无法访问的这些属性仅供 JS 引擎存取,[[scope]] 属性就是其中之一。
[[scope]]就是我们所说的作用域,其中存储了执行期上下文的集合。
**作用域链**
[[scope]]中所存储的执行期上下文对象的集合,这个集合呈链式链接,我们把这种链式链接叫做作用域链。
### 执行期上下文
当**函数执行**时(准确来说,是在函数发生预编译的前一刻),会创建一个执行期上下文的内部对象。一个执行期上下文定义了一个函数执行时的环境。
每调用一次函数,就会创建一个新的上下文对象,他们之间是相互独立且独一无二的。当函数执行完毕,它所产生的执行期上下文会被销毁。
## 最后一段
备注:本文的内容还有待完善。
## 参考链接
- <https://www.cnblogs.com/chenyingjie1207/p/9966036.html>