我有一个 JavaScript 闭包,我会在我的 Web 应用程序的整个生命周期中不断重新创建它(单个完整的 ajax 页面)。
我想知道它是否会造成内存泄漏。
这是一个示例JSFIDDLE
有问题的代码:
function CreateLinks() {
var ul = $("<ul></ul>").appendTo('div#links');
for (var i in myLinks) {
var li = $('<li>' + myLinks[i].name + '</li>').appendTo(ul);
//closure starts here
(function (value) {
li.click(function (e) {
$('div#info').append('<label>' + value + '</label><br />');
RecreateLinks();
});
})(myLinks[i].value);
}
}