JS中的执行环境的理解

JS中的执行环境的理解

执行环境中定义了变量或函数有权访问的其他数据,每个执行环境关联一个变量对象(只在函数执行的过程中存在,但全局环境的变量对象是一直存在的),环境中所有的变量和对象都存在这个对象中,但我们无法访问到这个对象。

  1. 每个函数都有自己的执行环境,最外层有一个全局执行环境。
  2. 代码在执行环境中执行的时候,会创建一个变量对象的作用域链,用以确保变量和函数的有序访问。作用域链的前端始终是当前代码所在环境的变量对象。
  3. 作用域链的顺序问题:在创建一个函数时,会创建一个预先包含全局变量对象的作用域链,这个作用域链被保存在[[ Scope]] 属性中;当调用函数时创建一个执行环境,并复制这个属性构建起执行环境的作用域链,然后,活动对象(此作为变量对象使用)被创建并被推到执行环境作用域链的前端(与第2点呼应)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值