一段js代码的问题
(function(){
setTimeout(function(){
if(aIndex > length){
aIndex = 1;
}
images[0].src = cases["index"+aIndex];
links[aBefore-1].className = "";
links[aIndex-1].className = "hover";
aBefore = aIndex;
aIndex++;
setTimeout(arguments.callee,1500)
},1500)
})()
学习别人的js代码中,看到一些代码片段不是很懂...
比如上面那一段,有两个setTimeOut,而且两个都是执行的中间的那个方法。个人就觉得是否重复了,
于是就动手去掉了两个setTimeOut中的任意一个,但是无论去掉哪个...这个方法都不能用了。不知道这里是什么原理。
还有就是这里的callee,不知道为什么我就想到了闭包,这里有没有涉及到闭包呢?
------解决方案--------------------
setTimeout只执行一次,所以最后需要一个反复调用自己