循环结构中JavaScript匿名函数用法实例解析

Radar 2010-10-08

JavaScript函数有很多值得学习的地方,本文和大家重点讨论一下循环结构中的JavaScript匿名函数的使用,相信你一定会感兴趣。

循环结构中的JavaScript匿名函数

先看下面的代码

<SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript"> 


 <!--  


 functionDelete_Row(i)  


 {  


alert(i);  


 }  


 functiontest()  


 {  



 for(vari=0;i<5;i++)  



 {  



vartable11=document.getElementById("table11");  




vartr11=table11.insertRow();  




vartrstr="tr"+tr11.rowIndex;  




tr11.id=trstr;  



  



tr11.ondblclick=function()  



{  


 Delete_Row(trstr);  


};  


  



vartd11=tr11.insertCell();  




td11.innerHTML=i;  




td11=tr11.insertCell();  




td11.innerText="我爱你";  




td11=tr11.insertCell();  




td11.innerText="笨蛋";  




td11=tr11.insertCell();  



  


}  


}  



 //--> 




 </SCRIPT> 




 <tableidtableid="table11"border=1> 




 <tbody> 




 <tr> 




 <td>第一列</td> 




 <td>第二列</td> 




 <td>第三列</td> 




 </tr> 




 </tbody> 




 </table> 




 <br> 




 <inputtypeinputtype="button"value="GO"onclick="test()"> 



 

点击按钮之后,会在table11中插入5行,行的双击事件就是使用了JavaScript匿名函数。

试想,点击第2行和第3行,你会看到什么,会是alert('tr0')和alert('tr1')吗,和你想的一样?

很显然不是我想要的结果,而是弹出了alert('tr5'),真是有点儿怪哦!可以肯定的是问题肯定是出在JavaScript匿名函数上,有可能是这个行的双击事件都指向了同一下JavaScript匿名函数,不知道各位有什么看法?

相关推荐