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

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

js函數調用問題

for(var i=0;i<objTr.length;i++){


? ? (function(i){


? ? ? ? objTr[i].onmousemove=function(){objTr[i].bgColor="red";}


objTr[i].onmouseout = function(){objTr[i].bgColor = "white";}


}(i));


} ?

將其改成以下形式,為什么就不能執行了??

for(var i=0;i<objTr.length;i++){


? ? function(i){


? ? ? ? objTr[i].onmousemove=function(){objTr[i].bgColor="red";}


objTr[i].onmouseout = function(){objTr[i].bgColor = "white";}


};


} ?


正在回答

2 回答

上面那種是匿名函數的創建并調用,你改的東西就算是個匿名函數但是也缺少個調用,稍作調整就可以使用,下面給你幾個調整解決方案

方案1是不用匿名函數

for(var i=0;i<objTr.length;i++){


? ??function a(i){


? ? ? ? objTr[i].onmousemove=function(){objTr[i].bgColor="red";}


objTr[i].onmouseout = function(){objTr[i].bgColor = "white";}


}

a(i);//調用

} ?

方案2,繼續用匿名函數的其他用法

for(var i=0;i<objTr.length;i++){


? ?void function(i){//void可以換成~ ?+ ?- !這幾種符號,依然有效


? ? ? ? objTr[i].onmousemove=function(){objTr[i].bgColor="red";}


objTr[i].onmouseout = function(){objTr[i].bgColor = "white";}


}(i);//尾巴上這個(i)就是對這個匿名函數的調用

} ?


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

笨小孩日記 提問者

非常感謝!
2016-05-08 回復 有任何疑惑可以回復我~

第二種形式缺少函數名。

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468969    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

js函數調用問題

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

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

幫助反饋 APP下載

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

公眾號

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