执行环境定义了变量或函数有权访问的其他数据,决定了他们的各自行为。
每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中。
根据ECMAScript实现的宿主环境不同,表示执行环境的对象也不一样。
在web浏览器中,全局执行环境被认为是windows对象,因此所有全局变量和函数都是作为window对象的属性和方法创建的。
==================================== window对象就是执行环境,
每个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境就会被推入一个环境栈中,
而在函数执行之后,栈将其环境弹出,把控制权返回给之前的执行环境。
------------------------------标识符解析-------------------
标识符解析是沿着作用域链一级一级地搜索标识符的过程。搜索的过程始终是从作用域的前端开始,然后逐级地向后回溯,直至找到标识符为止。