鼠標劃過列表改變背景顏色的方法里有點疑問,為什么要用this,不可以用as[i],this不就是as[i]嗎
?for?(var?i?=?0,?len?=?as.length;?i?<?len;?i++)?{ ????????????????????as[i].onmouseover?=?function?(i)?{ ????????????????????????this.style.background?=?'#666'; ????????????????????}; ????????????????????as[i].onmouseout?=?function?(i)?{ ????????????????????????this.style.background?=?'#fff'; ????????????????????};
2016-08-04
自己調用自己的時候只能寫this。就好像說話的時候我用“我”稱呼自己,而不是用自己的名字。大概是這么個意思吧,我理解的。。。
2016-08-05
之前看過一些解釋,大概意思就是,當你的onmouseover或者onmouseout事件運行時,你的for循環已經結束,得到i的值是5.
2016-08-05
是執行順序的關系,先循環為每個元素綁定事件,循環結束后才開始執行事件中的代碼。這時,i的值已經越界,用as[i]取不到正確的值。