老师 您好,函数的*执行*的时候才会去该函数*定义*时候作用域链去寻找变量。我这样理解对吗

来源:16-11 作用域和闭包--解题-代码演示

yondmn

2017-07-12


写回答

2回答

双越

2017-07-13

这样理解没问题

1
1
yondmn
谢谢老师。 反复想您说的终于理解了十个a标签为什么弹出都是10了,太谢谢您了
2017-07-13
共1条回复

慕斯卡8307688

2017-07-13

我觉是,定义的的时候已经把(函数,变量)放到一个 空间(heap)里面,执行的时候回立即从 空间(callstack)里面读取。

0
1
yondmn
我一开始也像你这样理解 直到老师讲到创建十个a标签点击弹出对应序号才发现不对,如果是定义时候就已经保存好所需变量。那么老师写的第一个循环创建a标签就一定能打印出对应序号了就不需要再加一层函数包裹了
2017-07-13
共1条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程