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