作用域、作用域链小总结

作用域分类
  全局作用域:  可以在代码中的任何地方都能被访问
  局部作用域:  一般只固定在代码段内可以访问得到

作用域链是什么
  1、全局作用域和局部作用域中的变量访问权,其实是由作用域链决定的;
  2、每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链。
  3、作用域链是函数被创建的作用域中得到对象的集合。
  4、作用域链可以保证对执行环境有权访问的所有变量和函数的有序访问;

  5、全局执行环境的变量对象始终是作用域链中的最后一个对象;
  6、函数的局部环境可以访问函数作用域中的变量,也可以访问和操作父环境(包含环境)乃至全局环境中的变量。
  7、父环境只能访问其包含环境和自己环境中的变量和函数,不能访问其子环境中的变量和函数。
  8、全局环境只能访问全局环境中的变量和函数,不能直接访问局部环境中的任何数据。

作用域链总结:
  1、 执行环境决定了变量的生命周期,以及哪部分代码可以访问其中变量
  2、 执行环境有全局执行环境(全局环境)和局部执行环境之分。
  3、 每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链
  4、 函数的局部环境可以访问函数作用域中的变量和函数,也可以访问其父环境,乃至全局环境中的变量和环境。
  5、 全局环境只能访问全局环境中定义的变量和函数,不能直接访问局部环境中的任何数据。
  6、 变量的执行环境有助于确定应该合适释放内存。

提升:
  1、变量提升:
变量提升,就是把变量提升到函数的顶部,需要注意的是,变量提升只是提升变量的声明,不会吧变量的值也提升上来!
  2、函数提升:函数提升,把函数提升到前面,只有函数声明形式才能被提升;

转载于:https://www.cnblogs.com/Angxf/p/10966422.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值