函数作用域链对象和活动对象

121 阅读1分钟

作用域链对象

​ 函数在创建的时候会创建两个对象,一个是函数对象本身,另一个是作用域链对象。

function a() {
    function b() {
        function c() {
            
        }
    }
}

​ 作用域链的对象是不可见的,同时也是用栈结构来保存,以下以函数c的作用域对象来举例。

创建前

活动对象

​ 函数在调用的时候会创建一个执行环境对象(活动对象)。

​ 函数调用时活动对象入栈,形成作用域链,函数调用完后活动对象销毁。