亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

理解不了這些:

誰能解釋一下視頻中這個: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,是因為點擊div之前,for循環已經執行完畢了嗎?如果是,那為啥for循環從i=1一直執行到最后,而沒有alert(i)執行

正在回答

1 回答

這就是閉包,在初始化函數的處理(addEventListenr)時,click事件處理函數引用的是for循環中的變量i。

初始化結束后,當用戶點擊這四個元素中的任何一個時,引用的i仍然是for循環中的i,由于初始化結束后i的值是4,所以自然就都是4.



1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript深入淺出
  • 參與學習       281092    人
  • 解答問題       1054    個

由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握

進入課程

理解不了這些:

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號