变量对象


4.变量对象

执行上下文三个重要属性之一,变量对象.

变量对象

变量对象: 存储了在上下文中定义的变量和函数声明。

函数上下文中的活动对象

在函数上下文中.一般用活动对象来表示变量对象.

活动对象和变量对象其实是一个东西,只是变量对象是规范上的或者说是引擎实现上的.

执行上下文生命周期: 创建阶段,执行阶段,执行完毕.

创建阶段产生变量对象,执行阶段变成活动对象.

活动对象真实存在,变量对象用于指代创建阶段内一个函数内定义的所有参数列表、内部变量和内部函数.

这个创建变量对象的过程实际就是函数内数据(函数参数、内部变量、内部函数)初始化的过程。

总结
变量对象:

  1. 在函数被调用,但是函数尚未执行的时刻被创建的.
  2. 定义着执行上下文下的所有参数、变量和函数。

活动对象: 在进入函数上下文时被创建的,它通过函数的arguments属性初始化.arguments属性值是Arguments对象。

全局上下文

全局上下文 就是 全局对象 具有以下特点:

console.log(this); // 1.可以通过this应用,在客户端js中,全局对象就是Window对象.
console.log(this instanceof Object);// 2.是由Object构造函数实例化的一个对象.
console.log(Math.random());// 3.预定义了一大堆函数和属性.
var a = 1;console.log(this.a);// 4.作为全局变量的宿主.
this.window.b = 2;console.log(this.b);// 5.客户端js中,全局对象有window属性指向自身。

文章作者: 罗紫宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗紫宇 !
  目录