发送索引作为函数的参数时,如何避免在for循环中引用最后一个索引?

时间:2012-07-12 23:39:54

标签: javascript jquery

我写了这段代码:

function(targetSliderObject, images){
        // create thumbs container
        var thumbsContainer = $("<div></div>").addClass(defaultOptions.thumbsContainerClass);
        // add thumbs
        for(i in images)
        {
            thumb = $("<img />").addClass(defaultOptions.thumbItemClass).addClass(i);
            thumb.attr("src", images[i]);
            thumb.click(function(){
                methods.slideNext(targetSliderObject, i);
            });
            thumb.appendTo(thumbsContainer);
        }
        // add thumbs container to container
        targetSliderObject.append(thumbsContainer);
}

我打算做的是每次调用带有不同数字的method.slideNext(),但是我发送了一个对i的引用作为函数的参数,最后,它是我的数组的最后一个索引我所有的大拇指。

我可以使用什么技巧来完成我想要的工作?

谢谢!

1 个答案:

答案 0 :(得分:0)

“锚定”i的价值:

(function(i) {
    // code that uses i
})(i);