该代码如何工作?有人可以帮助我理解吗?
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);
}
logAll();
据我说,myArray的长度仅为3,因此,我的日志必须将结果设为0,1,2。没关系。在我的for循环外,我为logAll函数引入了setTimeout,但是该logAll函数如何继续调用for循环,而不是3次。有人帮助我理解这一点吗?
如果是这样,为什么只调用一次?
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);
最佳答案
您一直在setTimeout
末尾调用logAll
,因此它每50ms不断调用一次logAll
。
关于javascript - 我要如何长时间保持setTimeout?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8226833/