执行环境 execution context
又称执行上下文,定义了变量或函数有权访问的其他数据。每个函数都有各自执行环境。
执行环境在内部所有代码执行完毕后会被销毁。
每个执行环境都有一个对应的变量对象,而它是后台的,保存在内存中的,代码无法直接访问的。
每当进入一个执行环境,对应执行环境的变量对象被激活,即活动对象,各种属性可以被访问到。
进入到一个执行环境时,会创建一个作用域链,用来保证对执行环境有权访问的变量和函数有序访问。
如果执行环境是函数,那么作用域的第一个对象始终是当前执行环境的活动对象,下一个对象是包含此函数的执行环境活动对象,以此类推。
闭包与作用域链:父函数定义的变量在子函数的作用域链中,子函数没有被销毁,其作用域链中的所有变量和函数就会被维护。