作用域链的理解

在理解之前要先明白几个概念:

执行环境:定义了变量和函数有权访问的数据。

变量对象:执行环境里定义所有的变量和函数都在这个对象里,代码无法访问,但是解析器可以访问。

要弄懂一个东西肯定要先明白它有什么用?它什么时候会出现?它是什么?

作用域链用途:保证了执行环境对变量和函数的有序访问。

作用域链生成时间:代码执行时,会创建变量对象的作用域链。

什么是作用域链:作用域链的最前端始终都是当前执行环境的变量对象,下一个变量对象则来自下一个执行环境,以此类推。搜索过程始终都是从作用域链的最前端开始,然后逐级向后搜索,直到找到为止。如果找不到就报错。

原文地址:https://www.cnblogs.com/caoshufang/p/11452189.html