課程
/前端開發
/JavaScript
/JavaScript進階篇
正如上圖所示,是個讓表格每行鼠標移上去就變色的代碼,在圖片紅色框框處,是能運行正常的,但一旦改成obj[i]就無法運行了,是怎么回事?
2020-11-13
源自:JavaScript進階篇 9-22
正在回答
obj[i]在匿名函數沒有定義 ?????function?bgc(obj){????? ?????????for(var?i=0;?i<obj.length;i++)????? ?????????{ ????? ?????????????obj[i].onmouseover=(function(obj){????? ?????????????????//?this.style.backgroundColor='#f2f2f2';????? ?????????????????????return?function(){????? ?????????????????????????obj.style.backgroundColor='#f2f2f2';????? ?????????????????????????}????? ???????????????})(obj[i]);????? ?????????????obj[i].onmouseout=(function(obj){????? ?????????????????????return?function(){????? ?????????????????????????obj.style.backgroundColor='#fff';????? ?????????????????????????}????? ??????????????})(obj[i]);????? ??????????}????? ??????}
閉包只能取得包含函數中任何變量的最后一個值,樓主寫的代碼中包含函數只能取得obj[i]的最后一個值
obj[i].style.backgroundColor這時的i已經不是當初的i,你做一個中間值傳給它看看
你別學了? 送外賣去吧..?工資高一點
番茄boy 提問者
陽火鍋 回復 番茄boy 提問者
慕村9220310 回復 陽火鍋
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答函數嵌套?
3 回答函數內輸出的問題
1 回答函數的運行結果
3 回答請問函數參數需不需要var聲明?
1 回答為什么定義timedCount()函數,函數體內還能用函數timedCount()?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-12-03
2020-12-24
閉包只能取得包含函數中任何變量的最后一個值,樓主寫的代碼中包含函數只能取得obj[i]的最后一個值
2020-12-03
2020-11-17
你別學了? 送外賣去吧..?工資高一點