想通过setTimeout延时改变变量的值,进而改变while循环输出的值,但是无法改变:
const tests = {
str: "abc",
};
setTimeout(() => {
tests.str = "fff";
}, 4 * 1000);
while (true) {
console.log(tests.str);
}
这是什么原因?
想通过setTimeout延时改变变量的值,进而改变while循环输出的值,但是无法改变:
const tests = {
str: "abc",
};
setTimeout(() => {
tests.str = "fff";
}, 4 * 1000);
while (true) {
console.log(tests.str);
}
这是什么原因?
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
是的,没有办法改变,因为js是单线程的,while无限循环了,会阻断定时器的执行