闭包的相关知识及其代码分享
1.简单原理
闭包是间接性的扩大了变量的使用范围,内部函数可以访问外部函数的变量;
简单原理代码实例:
function fn() {
var a = 1;
return function fun() {
console.log(a)
}
}
var f = fn();
f();
经典案例应用
<body>
<!-- 需求:点击第几个li,打印出对应的索引 -->
<ul>
<li>第1个li</li>
<li>第2个li</li>
<li>第3个li</li>
<li>第4个li</li>
</ul>
<script>
var lis = document.querySelector('ul').querySelectorAll('li')
for (var i = 0; i < lis.length; i++) {
(function(i) {
lis[i].onclick = function() {
console.log(i)
}
})(i)
}
</script>
</body>

浙公网安备 33010602011771号