初始化全局对象
js引擎会在执行代码之前,会在堆内存中创建一个全局对象:Global Object(GO).该对象所有的作用域(scope)都可以访问;里面会包含Date,Array,String,Number,setTimeout,setInterval等等;其中还有一个Window属性指向自己。
认识VO对象(Variable Object)
每一个执行上下文会关联一个VO(Variable Object,变量对象),变量和函数声明会被添加到这个VO对象中。
函数如何被执行?
在执行的过程中执行到一个函数时,就会根据函数体创建一个函数执行上下文,并且压入到EC Stack中 因为每个执行上下文都会关联到一个VO,那么函数执行上下文关联的VO就相当于创建一个AO对象(Activation Object);这个AO对象会使用arguments作为初始化,并且初始化是传入的参数;这个AO对象会作为执行上下文的VO来存放变量的初始化。