【发布时间】:2018-04-28 19:30:52
【问题描述】:
考虑这段代码:
function foo(a){
setTimeout(function(){
debugger;
a;
}, 1000);
}
foo(1);
foo(2);
foo(3);
发生的情况是,每个函数调用在调用其相关 setTimeout 函数时都获得了正确的值范围在某个时间点,但我无法理解这个解释,或者我首先错过了范围的含义,有人可以详细说明吗?谢谢。
【问题讨论】:
-
很难理解你在问什么或困惑是什么
-
我很困惑回调函数在 foo 函数的作用域上有闭包,但状态不同(每个都有不同的 a 值)。
标签: javascript callback closures