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

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

as[i].style.background="#fcc“為什么會報錯呢?代碼中下劃線部分,和作用域有關嗎

for(i=0,j=as.length;i<j;i++){

? ?//for (i in as){//用for in不行嗎,會打出prototype

? ? ? eventUtil.addEvent(as[i],"mouseover",function(){

? ? ? ? resetIndex();

? ? ? ? //用as[i]不行嗎

? ? ? ? this.style.background="#fcc";

? ? ? ? //as[i].style.background="#fcc";//Uncaught TypeError: Cannot set property 'background' of undefined at HTMLAnchorElement.<anonymous>?

? ? ? });

? ? ? eventUtil.addEvent(as[i],"mouseout",function(){

? ? ? ? this.style.background="#fff";

? ? ? });

? ? ? eventUtil.addEvent(as[i],"click",function(){

? ? ? ? console.log(mouseIndex);

? ? ? ? title.innerHTML=this.innerHTML;

? ? ? })

? ?}

? ?eventUtil.addEvent(document,"click",function(){

? ? ?menu.style.display="none";

? ? ?//eventUtil.stopPropagation(document);

? ?});

? ?eventUtil.addEvent(title,"click",function(e){

? ? ?menu.style.display="block";

? ? ?eventUtil.stopPropagation(e);

? ?});


正在回答

1 回答

這個是關于for循環里的閉包的知識,你打印一下就會發現每次執行的時候i的值都是as.length,所以會報錯。幫你找了篇文章,簡單看一下就知道原因了。

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

Emily夢 提問者

非常感謝!
2017-03-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

as[i].style.background="#fcc“為什么會報錯呢?代碼中下劃線部分,和作用域有關嗎

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

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

幫助反饋 APP下載

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

公眾號

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