再说说解决办法的原理:我们让for循环内部的函数立即执行 这回会导致该函数运行三遍 并生成3个VO 遵循并利用闭包原则 这3个VO在执行环境从栈中被弹出后依然得以保留 相当于3个快照版的VO 当我们点击绑定事件并激活该函数时 它的自由变量i会在快照版的VO中找到对应数字的1 2 3
2019-02-10
经过我的不懈努力,我终于弄明白了。下面是心得:这段代码会被执行3次 但var i处于全局作用域 每次循环都会覆盖i的值 当我们点击绑定事件时 它会访问自由变量i 并在父级作用域 也就是全局作用域下找到已经为4的var i,所以点击几次都是4
2019-02-10