首页 > 试题广场 >

下列代码的执行结果 for (var i = 0; i

[单选题]
下列代码的执行结果
for (var i = 0; i < 3; i++) {
setTimeout(_ => {
    console.log(i)
  })
}

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

  • 0 1 2, 0 1 2
  • 0 1 2, 3 3 3
  • 3 3 3, 0 1 2
  • 3 3 3, 3 3 3
var声明i是全局变量,所有循环共有同一个。let具有块作用域,每一次循环会开辟一块新的块作用域,所以let声明的i有5个。大概的解释(想了解深入可以看看这个https://blog.csdn.net/weixin_44703582/article/details/124445632
发表于 2023-03-06 16:13:56 回复(0)