setInterval()问题,新手求教,谢了

var ele='hello'; function test(){ for(var i=0;i<ele.length;i++){
 setInterval(function(){
 alert(ele[i]);        //undefined
 },50); //alert(ele[i]);      
 }
 }
 test();

问题:为什么for循环中五次显示的都是undefined,而不是hello的中五个字母?

 这里是不是由于闭包而产生的问题?


哔哔one
浏览 452回答 1
1回答

倚天杖

是5次alert中的i引用的都是同一个i,而那时候的i已经是5了,而ele[5]就是undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript