javascript基础(七)作用域

作用域与执行上下文联系起来,直接看一个例子


js文件有一个全局作用域这个没问题,其次每个函数又会形成一个自己的作用域。

接下来看一下执行过程中发生了什么

第一步,在加载程序时就已经确定了上下文执行环境包括变量a,b的声明,fn和bar的赋值;接下来代码执行,对a,b赋值,直到执行到fn(10);

第二步,调用fn(10),生成fn执行上下文环境,将其压栈并激活

第三步,执行到bar(100),生成一个bar环境,压栈激活

第四步,执行完bar(100)后这个环境出栈被销毁,回到fn(10)的环境激活,在这个环境下继续执行bar(200),创建环境压栈激活

第五步,执行完bar(200)后,将其出栈销毁,此时回到fn(10)的环境,将其激活

第六步,接下来fn这个环境下没有需要执行的语句了,于是他被出栈销毁,有回到全局上下文环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值