标签:ons 引用 数组 efi 执行 frame 循环 file ram
for(var i=0;i<oLis.length;i++){
oLis[i].onclick=function () {
alert(i);
}
}
//绑定事件是异步的,当我们点击某个元素触发绑定在他身上的事件时,循环早已执行完毕i值已经是不符合循环条件的i,此时不管点击哪个元素弹出的索引都是不符合循环条件的索引
将var改为let点击元素就能够正确的索引了,因为循环每次执行时都会形成私有的块级作用域保存正确的索引不被外界的变量改变
for(let i=0;i<oLis.length;i++){
oLis[i].onclick=function () {
alert(i);
}
}
- const定义的是常量,也没有预解释且不能重复定义。
- 值不能被整个改变(如果是数组或对象可以改变其中的某项,但是如果改变了引用地址即覆盖就会报错)
let,const,function如果声明同一个变量也是重复声明,是一个作用
标签:ons 引用 数组 efi 执行 frame 循环 file ram
原文地址:https://www.cnblogs.com/zlsqd/p/11332562.html