以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 小测验
81. setTimeout II

这段代码会输出:

0
1
2
3
4

原因是在循环中,通过let声明一个i变量,在每次循环时创建一个新的闭包。同时,在闭包内部还创建了一个num变量,用于保存i的值。因为setTimeout是一个异步操作,因此每个回调函数都会在循环结束后被调用,并打印当前num的值。由于i在每次循环中递增,因此num被赋值为不同的数字。由于setTimeout有一个延迟时间100ms,因此每个回调函数都相继执行,并打印数字0到4。