关于作用域的延长

来源:4-4 变量对象和作用域链

楚楚提

2019-07-28 12:28:32

本次问题来源前端入门的结课作业:

http://img.mukewang.com/climg/5d3d23510001b41a13880761.jpg

外部函数声明了变量,按照本节课的逻辑,作用域应该局限于函数本身,在外部函数执行结束后,这个变量应该是不能引用了.

但是又由于我通过点击事件 screen.onclick = function(){}又定义了一个内部函数,并且引用外部函数的变量,事实上当我点击screen触发点击事件的时候,外部函数早已执行结束,而此时外部函数声明的变量却依然存在.


这种情况是否在概念上属于作用域的延长呢???

写回答

1回答

好帮手慕糖

2019-07-28

同学你好,这里可以理解为作用域链哦。

虽然外部函数执行完了,但是执行的时候,因为声明了这些变量了哦。

在里面的函数中,是可以访问外面的这个变量的,是可以正常使用的。这个是类似于,老师讲作用域链延长上面的那个例子,作用域链哦。

希望能帮助到你,祝学习愉快!

0

0 学习 · 14456 问题

查看课程