这段代码如何工作?任何人都能帮助我理解?根据我的说法,myArray的长度只有3,所以,我的日志必须给我的结果为0,1,2。没关系。在我的for循环中,我为logAll函数引入了setTimeout,但是如何logAll函数继续调用for循环而不是3次,以至于......?任何人都能帮助我理解这一点?我如何在setTimeout中保持长久?
如果是这样,为什么这只是调用一次?
var myArray = ['one','two','three'];
var logAll = function(){
var long = myArray.length;
for(i=0;i< long;i++){
console.log(myArray[i]);
}
}
setTimeout(logAll,50);
问题更新.. – 3gwebtrain
@ 3gwebtrain我很困惑。为什么它只在第二个代码中运行一次?因为它在'setTimeout'结尾处被调用一次,并且再也不会被调用。一个'setTimeout'超时,调用给它的方法,就是这样。 –
在第一个函数中,我没有在循环内部保留“setTimeout(logAll,50);”,这就是为什么我很困惑。我的函数只调用一次,以及它一次调用内部函数..那么如何内部函数调用继续? – 3gwebtrain