<div?class="nav">
????<li>1</li>
????<li>2</li>
????<li>3</li>
????<li>4</li>
????<li>5</li>
</div>JS代碼一:var?lis?=?document.querySelectorAll("li");
for?(var?i?=?0;?i?<?lis.length;?i++)?{
????lis[i].addEventListener('click',?function()?{
????????alert(i)
????})
}?//每一個都是彈出5JS代碼二:var?lis?=?document.querySelectorAll("li");
for?(let?i?=?0;?i?<?lis.length;?i++)?{
????lis[i].addEventListener('click',?function()?{
????????alert(i)
????})
}?//將var改成let后,就能正確彈出每一個li的索引了JS代碼三:var?lis?=?document.querySelectorAll("li");
for?(var?i?=?0;?i?<?lis.length;?i++)?{
????(function(i){
????????lis[i].addEventListener('click',?function()?{
????????????alert(i)
????????})
????})(i)
}?//寫在自執行函數里,也能正確彈出每一個li的索引誰給我講講這是為什么
這是閉包問題么,誰給我解答一下!
淡雅的默
2018-04-23 17:45:52