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的中五个字母?
这里是不是由于闭包而产生的问题?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
是
5次alert中的i引用的都是同一个i,而那时候的i已经是5了,而ele[5]就是undefined