这是在 JavaScript 中形成闭包的正确方法吗? [关闭]
Posted
技术标签:
【中文标题】这是在 JavaScript 中形成闭包的正确方法吗? [关闭]【英文标题】:Is this the correct way to form a closure in JavaScript? [closed] 【发布时间】:2012-08-23 07:07:48 【问题描述】: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
调用上使用另一个匿名函数来保持关闭?
【问题讨论】:
*** 上有很多关于闭包的问题。随便搜一下:***.com/search?q=%5Bjavascript%5D+closure 【参考方案1】:不,ini
本身就是一个函数,因此有自己的作用域。因此,每次调用时传递给ini
的参数不会改变,也不需要另一个闭包。
【讨论】:
以上是关于这是在 JavaScript 中形成闭包的正确方法吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章