首页 > 试题广场 >

执行以下代码,打印出:for (let i = 0; i

[不定项选择题]
执行以下代码,打印出:
for (let i = 0; i < 3; i++) {
setTimeout(function() {
console.log(i++);
}, 1000);
}
  • 0 1 2
  • 1 2 3
  • 3 3 3
  • 4 4 4
说说这个题我怎么做的,如果不合适请指出:首先排除CD,选CD的可能陷入了自执行函数的误区,这个函数在循环内部每循环一次就输出一次,对于AB,要搞清楚i++和++i的区别,i++是先执行后++,++i是先++后执行,所以本题中是先执行后++,就是先输出第一个数字0再++
发表于 2018-09-10 11:41:35 回复(0)
通过 let /const关键字声明的变量是拥有块级作用域(指的是任何在 {} 中的内容)。在每次的遍历过程中,i 都有一个新值,并且每个值都在循环内的作用域中。
发表于 2019-07-26 22:35:55 回复(0)
如楼上所说,千万不要陷入自执行函数的误区
发表于 2018-09-14 11:30:38 回复(0)