JavaScript执行环境及作用域

来源:互联网 发布:淘宝刷空间人气 编辑:程序博客网 时间:2024/05/29 02:35

执行环境也称环境,定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每一个执行环境中都有一个与之相关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。

执行流机制:每一个函数都有自己的执行环境,当执行流进入一个函数时,函数环境就会被推入一个环境栈中,而在函数执行之后,栈将其执行环境弹出,把控制权返回给之前的执行环境。当代码在一个环境中执行的时,会创建变量对象的一个作用域链。作用域链的用途是保证对执行环境有权访问的变量和函数的有序访问。作用域的前端始终是当前执行的代码所在环境的变量对象。如果这个环境是函数,将其活动对象作为变量对象。活动对象最开始只包含一个arguments对象。

执行环境的访问顺序:执行环境之间的联系是线性和有次序的。内部环境可以通过作用域链访问所有的外部环境,外部环境不能访问内部环境中任何变量和函数。

参考 js高级编程


0 0