比较常见闭包的两个应用问题
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<script>
//ul中有若干个li,每次点击li,输出li的索引值
var lis = document.getElementsByTagName('ul')[0].children;
for (var i = 0; i < lis.length; i++) {
(function(index) {
lis[i].onclick = function() {
console.log(index)
}
})(i);
};
//定时器 每隔一秒打印一个数组中的元素
var arr = ['a', 'b', 'c', 'd', 'e'];
for (var i = 0; i < arr.length; i++) {
(function(index) {
setTimeout(function() {
console.log(arr[index]);
}, i * 1000);
})(i)
}
</script>