我想在setTimeout的参数函数使用不同值(取决于循环索引)作为参数的循环内设置多个超时。这是一个simplificated例如:在使用setTimeout时将值传递给javascript中的函数
for(i=0; i<5; i++)
{
var m = setTimeout(function() {console.log(i)}, (i+1)*2000);
}
我认为与上面的代码我得到 “0,1,2,3,4” 每2秒。取而代之的是,我每2秒钟就会得到“5,5,5,5”。为什么?