【发布时间】:2022-01-15 17:01:18
【问题描述】:
我在 1 秒后更改 'aa' 的值,但循环继续执行。
let aa = true;
setTimeout(function () {
aa = false;
}, 1000);
for (; aa; ) {
console.log('aaa');
}
【问题讨论】:
-
Javascript 在单线程上运行。由于线程正忙于主动运行你的循环,它不能同时调用超时函数。
-
这里有一个方便的视频来扩展@JoachimIsaksson 的正确答案:youtube.com/watch?v=8aGhZQkoFbQ
标签: javascript settimeout