执行上下文,作用域,作用域链他们是什么关系

执行上下文,作用域,作用域链他们是什么关系

# 具体遇到的问题
看了闭包的有关资料,执行上下文是一个对象,也叫代码的执行环境,它在函数执行时创建;作用域是可访问的变量的集合,他是执行上下文的一个内部属性(scope);作用域链在函数定义是产生,它是什么?他们三者的关系是怎样的
# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,作用域链参考如下回答 :

http://class.imooc.com/course/qadetail/260430

祝学习愉快~

好帮手慕久久 2020-10-28 11:18:50

执行上下文是代码的执行环境,该环境包含全局作用域与局部作用域,所以作用域是执行上下文的组成部分,是执行上下文的内部属性;

作用域是变量起作用的区域,比如下图中的变量a,它处于函数f内,它只能在函数f内使用,外部访问不到它,所以调用f形成的作用域,就是a所处的作用域:

http://img1.sycdn.imooc.com//climg/5f98e2e109f799c403620100.jpg

作用域相互嵌套就形成了作用域链,它可以用来查询变量,例如下面的例子:

http://img1.sycdn.imooc.com//climg/5f98e2e509e422b904540246.jpg

调用函数c时,函数c内部打印变量a。由于函数c中没有声明变量a,因此会往它上一层作用域函数b中查找变量a。由于函数b中也没有声明变量a,因此会再往上一层作用域函数a中查找,函数a中声明了变量a,所以最终打印1。也就是作用域层层嵌套,内部作用域查找变量,会一层一层往上级作用域中查找,形成了作用域链。

祝学习愉快!

  • 提问者 嗯嗯_ #1
    我不是问作用域是怎样形成的,而且作用域链内部并不是嵌套的,它的内部是排列有序的对象
    2020-10-28 11:25:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师