理解不了這些:
誰(shuí)能解釋一下視頻中這個(gè):document.body.innerHTML = "
a
a2
a3
"; for(var i=1;i<4;i++){ document.getElementById("div"+i).addEventListener('click',function(){ alert(i); }); },為啥alert(i)一直是4,是因?yàn)辄c(diǎn)擊div之前,for循環(huán)已經(jīng)執(zhí)行完畢了嗎?如果是,那為啥for循環(huán)從i=1一直執(zhí)行到最后,而沒(méi)有alert(i)執(zhí)行
2015-05-08
這就是閉包,在初始化函數(shù)的處理(addEventListenr)時(shí),click事件處理函數(shù)引用的是for循環(huán)中的變量i。
初始化結(jié)束后,當(dāng)用戶點(diǎn)擊這四個(gè)元素中的任何一個(gè)時(shí),引用的i仍然是for循環(huán)中的i,由于初始化結(jié)束后i的值是4,所以自然就都是4.