【发布时间】:2021-01-05 15:08:28
【问题描述】:
我有一个问题,我不明白为什么我的“console.log”来自“startAnimation”函数
很好地展示了我: 20 19 18 ...
在“animationAnimation”函数中它返回我 我 = 1 我 = 2 ....
animationAnimation(i, self) {
setTimeout(function() {
console.log("i =" + i);
}, 2000 * i);
return self;
}
startAnimation(self) {
for (let i = 20; i > 0; i--) {
console.log(i);
self.animationAnimation(i, self);
}
}
【问题讨论】:
-
您的 for 循环从 20 开始,减去 1 直到达到 1,此控制台会立即记录。然后它等待这 i * 2000 次再次打印
-
由于定时器的原因,它仍然在 2 秒调度 1,在 4 秒调度 2,依此类推。
标签: javascript for-loop increment