函数的作用域链在定义时已经确定

chat

红宝书上的解释:其实作用域链在函数定义时已经确定了,作用域链是和函数定义时的位置相关的。在函数创建的时候创建一个包含外部对象(包括全局对象和所有包含自己的对象)的作用域链,储存在内部[[scope]]属性中。函数执行的时候会创建一个执行环境,通过复制[[scope]]属性中的对象,构建执行环境的作用域链,并把自己的活动对象推向当前作用域链的前端以此形成完整的作用域链。[[scope]]属性中保存的是对可访问变量对象的引用,而不是值的复制。

版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/1925/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
函数的作用域链在定义时已经确定
红宝书上的解释:其实作用域链在函数定义时已经确定了,作用域链是和函数定义时的位置相关的。在函数创建的时候创建一个包含外部对象(包括全局对象和所有包含……
<<上一篇
下一篇>>
chat