比较常见闭包的两个应用问题
<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>