将参数传递给for中的$ .doTimeout函数

时间:2012-04-24 14:59:39

标签: jquery parameter-passing settimeout

这将在1秒后记录'7'七次。

for (var i = 0; i < 7; i++) {
    $.doTimeout(1000, function() {
        console.log(i);
    });
}

但如果我想让它记录'0','1','2','3','4','5','6'怎么办?

($。doTimeout是Ben Alman's plug-in,但我认为这与setTimeout的问题相同。)

谢谢!

1 个答案:

答案 0 :(得分:1)

for (var i = 0; i < 7; i++) {
    (function(i) {
        $.doTimeout(1000, function() {
            console.log(i);
        });
    }(i));
}

您需要将范围与变量i相关联,以便在闭包查找时从范围获取值。