JS函数的行为不符合预期

时间:2016-05-25 18:25:55

标签: javascript

请考虑以下代码:

for (var i = 1; i <= 5; i++) {
    setTimeout(function printNumbers() {
        console.log(i);
    }, i * 1000);
}

我知道在循环中定义函数不是一个好习惯,但这不是主要问题。我期待这段代码每秒打印1,2,3,4,5秒,但它每秒打印6次,每秒5次。我的两个问题是:

为什么不打印所需的结果?当我的条件停止在5

时,计数器甚至达到6

0 个答案:

没有答案