将需要使用的变量包含在setTimeout函数中,如下所示:
let num = 0;
setTimeout(() => { num = 5; console.log(num); }, 1000);
console.log(num); // 输出0
在上述代码中,num在setTimeout函数内被重新赋值为5并打印,而在函数外将num打印则输出0,因为在函数外num的值没有被改变。这表明只有在setTimeout函数中调用的num才是被重新赋值的num。
下一篇:变量没有被更新为正确的值。