我正在尝试理解此代码。
let a = [1, 2, 3, 4, 5];
a.forEach(i => {
setTimeout(i => {
console.log(i);
}, 1000);
});
为什么它给出如下输出:
5 times: undefined
我知道javascript
异步执行代码和调度setTimeout
功能,当迭代停止时,的最后一个值i
是不确定的,但为什么是不确定的。
难道在javascript
我们无法访问外回调参数的范围是什么?
森栏
守着一只汪
qq_笑_17
相关分类