假设我有这样的设置。
var Account = function(data) {
this.data = data;
this.domElement = (function(){ code that generates DOM element that will represent this account })();
this.domElement.objectReference = this;
}
Account.prototype = {
show: function() { this.domElement.classList.remove('hidden'); },
hide: function() { this.domElement.classList.add('hidden') }
}
我的问题是关于最后一行:this.domElement.objectReference = this;
拥有这将是一件有用的事情,因为这样我就可以将事件侦听器添加到我的 DOM 元素中,并且仍然可以访问对象本身。例如,我可以添加会影响我的 DOM 元素的方法,例如 hide() 和 show(),而不必直接使用 CSS 修改 DOM 元素的可见性。
我测试了这段代码,它像我想要的那样工作,但我很好奇这是否会导致内存泄漏或其他一些不愉快的事情,或者它是否可以接受?
谢谢!卢卡