什么是JS的执行环境?
function funA(){ //一段代码静静的躺在这里,不能叫执行环境 }funA();
//当代码开始执行以后,系统会将它存入执行栈,并为他准备好足够的内存空间使用
//并安排相关线程辅助这个函数的执行。环境就诞生了
简单的说,一个运行中的函数,即为执行环境
什么是Js的变量对象(活动对象)?
用来存储代码执行时的数据(变量对象等),叫做变量对象
window对象是一个持续存在的对象,负责存储全局环境下的所有变量和对象
因此,window对象看做一个变量对象。主要作用就是存储数据。当然,它在所有代码开始执行时就创建好了
function funA(){ var a = 100; }对于函数funA()来讲,它执行时也会创建执行环境,需要存储执行时创建的数据,因此函数funA()也有自己的变量对象
但是,这个变量对象在编译期间不存在。也就是说只有当funA执行时才会创建一个变量对象,存储变量a=100的值。
当函数执行结束,执行环境被释放,则变量对象销毁
因此,变量对象只有在函数活动期间存在,所以也叫活动对象。