使用for循环和SetTimeout时丢失索引号

时间:2018-08-21 06:05:55

标签: javascript jquery

我正在尝试使用以下for loopsetTimeout的混合方式在我的代码中添加间隔限制,这在某种程度上可以正常工作,但是在每次设置超时时获取索引状态都存在问题

var x = 5;
var interval = 2000;
for (var i = 0; i < x; i++) {
    setTimeout(function () {
        console.log(i);
    }, i * interval)
}

var x = 5;
var interval = 2000;
for (var i = 0; i < x; i++) {
    setTimeout(function () {
		console.log(i);
    }, i * interval)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

您可以看到console.log(i);正在打印5,而不是从0到4的索引!该如何解决?

0 个答案:

没有答案