的确是函数闭包问题。第一种
神的高冷 2022-06-19 06:13 开发者_运维技巧
第二张图 i 的值是循环结束后最后的值。
初见季节__ 开发者_运维问答 2022-06-19 06:32
你自己都说了是闭包问题了。
被惊扰的天空啊 2022-06-19 06:33
相当于把 i
赋值给 oLi
的一个属性 index
,这样相当于每个oLi[i]
保存着对应的i
比如:oLi[1].index==1,oLi[2].index==2
然后后面可以通过 this.index
来改变相应的 类名。第二种因为 i
在 oLi.onclick
的事件中会用到,所以导致包含函数不会被销毁,其作用域也不会被销毁
所以i
还存在于包含函数的作用域中
这样 for
循环完后 i
的值就等于oLi.length
的值,所以每个点击事件中的i
值开发者_Python百科都等于oLi.length
的值。
精彩评论