在这个点击事件函数中,为了记录点击的参数按钮的参数是多少定义index变量并赋值,但是为什么这句话一定要放在外面的函数才生效,而放在点击函数里面却会出现报错先上一张正确的图下面这张是错误的图
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
的确是函数闭包问题。
第一种
相当于把
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值都等于oLi.length的值。
添加回答
举报
0/150
提交
取消
