这是在JavaScript中形成闭包的正确方法吗?

时间:2012-08-28 18:03:55

标签: javascript function scope closures

iD是一个在循环中每次迭代都会发生变化的对象。同样在这个循环中我运行以下内容:

$("td.item_holder > div").append(dynamo.shop.box.ini(item_info,(function(data){
    return function(){
        console.log(data);
    }
})(iD)));

我希望这会形成一个封闭。我唯一的查询是,它调用dynamo.shop.box.ini的函数使用.bind(jQuery):

ini : function(data,callback){
....
            var right = $('<div>').addClass("dynamo_right").html('bye').bind('click',callback);
....
    return container;
},

我是否需要在.bind调用中使用另一个匿名函数来保持闭包?

1 个答案:

答案 0 :(得分:1)

不,ini本身就是一个功能,因此有自己的范围。因此,在每次调用时传递给ini的参数不会改变,并且不需要另一个闭包。