发布网友 发布时间:2022-04-23 21:52
共1个回答
热心网友 时间:2023-10-11 01:38
这个是闭包的问题
for (var i = 12; i <= 16; i++) {
(function(i){
第12个点击事件
oLi[i].onclick = function () {
12-16背景改变
for (var j = 12; j <= 16; j++) {
oLi[j].style.backgroundColor = "Gray";
}
// oLi[i].style.backgroundColor = "Lime";
为什么我这里输出来是17
alert(i);
}
}(i);
}
输入17是因为你的 i 是同一个变量
闭包后,由于函数变量不同,所以每个i都是不同的