当我们为多个button进行批量注册监听的时候,很容易因为临时变量踩坑
坑点可以查看图
按照我的逻辑就会如此写,结果发现一直报错,无法正常进行事件的触发操作。
报错信息为out of array length,数字越界了。
那是什么导致的呢。
打开VS进行debug发现每一次点击都有触发但是触发的时候显示 i == 16 ,但是我们objs
数组只有0-15所以出错。这里很好理解呐,我们监听的时候,拿到了i的地址,当我们触发的
时候会通过地址进行选址,拿到的i 就是最终版本的i了,所以越界了。
解决方式很好说,因为分析出了原因。使用临时变量存储i就完事了。
这里取名较为随意望谅解