猿问

真心求教!关于for循环的问题?

这段代码可以运行,但是浏览器也会报错,请教原因。
如果把循环改为

aDiv[0].style.left=pos.x+'px';
aDiv[0].style.top=pos.y+'px';
for(i=aDiv.length-1;i>0;i--)
{
aDiv[i].style.left=aDiv[i-1].offsetLeft+'px';
aDiv[i].style.top=aDiv[i-1].offsetTop+'px';
}

就不会报错了,求大神指点其中缘由,百思不得其解。
另也请指教一下,for循环正过来和倒着用的不同场合,有什么判断依据否?


慕村225694
浏览 668回答 1
1回答

桃花长相依

没看问题,先说一句。问问题,学习交流,你总得先让看的人不头疼,把代码给整理下吧。好了,原谅你了!说问题。i++那个,你不是后面还有一个i++嘛,超过数组上限了,所以报错。i--那个,不会超过数组下线,因为你有i>0。也就是0是不会进入的,要进入的最小值是1,i-1=0,0恰好是数组下限,所以没报错。这应该是一个小问题,细心一下就会发现的(下回,别“百思”了,呵呵)。至于你说的什么时候用i++,什么时候用i++,要看你是想从哪头开始取数据而已!
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答