var box = document.querySelector('.box'); for (var i = 0; i < 10; i++) { var li = document.createElement('li'); li.innerHTML = i; box.appendChild(li); li.addEventListener('click',function(){ console.log(i); }) }
这段代码点击新生产的li标签全是10,高程书中说,闭包只能取得包含函数中任何变量的最后一个值,我理解了很长时间,不明白原委。
第二个问题是,为什么将i的类型设置为let就是点击显示正常,我知道let是块级作用域的概念,那为何块级作用域就能显示正常呢?
有些被绕里了,请大神解释一下,感激不尽了。
有只小跳蛙
相关分类