这里有一些 JavaScript 代码:
linkElem.click(function () {
var data = linkElem.data();
alert(''+data.mls + ' ' + data.id);
});
它工作了。
linkElem
是我在函数内部的一个循环中创建的本地变量。我使用jQuery的.data()
为其分配了一些数据。如果我不调用.click()
,linkElem
将在循环期间被重新分配,然后在函数返回后被回收。但是,我创建了一个引用linkElem
的匿名函数。所以我不确定正在发生什么。
我的猜测是,在循环期间创建的所有匿名函数和linkElem
都被赋予了某种UID,并移到了持久/全局范围。这正确吗?非常感谢冗长的细节。