【发布时间】:2021-09-22 19:33:59
【问题描述】:
当我尝试通过 for 循环和 setTimeout 方法执行时,得到输出 undefined。然后我尝试了下面的方法
var alphAbet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
setTimeout(function loop() {
console.log(alphAbet.shift());
if (alphAbet.length){
setTimeout(loop, 3000);
}
}, 3000);
从 A 到 Z,所有字母都在 3 秒后执行。但根据条件字母 A 不会花费任何时间。
【问题讨论】:
-
有什么问题?
-
去掉外部的setTimeout。只需定义,然后调用 loop()
标签: javascript arrays function loops if-statement