5.JavaScript的作用域与作用域链

来源:互联网 发布:林俊杰 hebe 知乎 编辑:程序博客网 时间:2024/04/28 03:51

一些应该掌握的知识点

  • 作用域,即scope属性,是指对某一变量和方法具有访问权限的代码空间,其中存取了执行期上下文

  • 每个JS函数都是一个对象,其中有的属性可供我们访问,有的属性仅供JS引擎存取,例如[[scope]]就是其一

  • 当函数执行时,会创建一个被称为”执行期上下文”的内部对象,即AO

  • 一个AO定义了一个函数执行的环境,函数每次执行时对应的执行期上下文都是独一无二的

  • 当函数执行完毕时,AO会被销毁

  • 作用域链的定义:即scope中所存储的的执行期上下文对象的集合,这个集合呈链式链接,我们把这种链式链接叫做作用域链

  • JS引擎在查找变量时,会从作用域链的顶端依次往下找

  • 关于JavaScript作用域详细解析的一篇博客参考:mr zl:JS函数作用域及作用域链理解

原创粉丝点击