<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>列表1</li>
<li>列表2</li>
<li>列表3</li>
<li>列表4</li>
</ul>
<script>
let lis = document.querySelector('ul').querySelectorAll('li');
注意var和let不同
for(var i=0; i<lis.length; i++){
lis[i].index = i;
lis[i].onclick = function () {
// console.log(i); //4
console.log(this.index);
}
}
for (var i = 0; i < lis.length; i++) {
//立即执行函数也称为小闭包,因为立即执行函数里面的任何一个函数都可以使用它的i 变量
(function (i) {
lis[i].onclick = function () {
console.log(i); //产生闭包 i是立即执行函数作用域的i
}
})(i)
}
</script>
</body>
</html>
闭包 循环注册点击事件
最新推荐文章于 2023-11-24 17:44:41 发布