Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • B-001

B-001

let i;
for (i = 0; i < 3; i ++) {
	const log = () => {
		console.log(i)
	}
	setTimeout(log,100);
}

#答案: 3 3 3

#解析:

for() 迭代3次,在每次迭代时候,都会创建一个新函数log,log函数捕获变量i,然后, setTimeout()调度log()的执行。

当for循环完成时候变量i的值为3.

100ms后setTimeout调用的3 个 log() 回调。log() 读取变量 i 的当前值,即 3。

Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人