0

このような設定があるとしましょう。

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 要素に追加しても、オブジェクト自体にアクセスできるので便利です。CSS を直接使用して DOM 要素の可視性を変更する必要なく、たとえば hide() や show() などの DOM 要素に影響を与えるメソッドを追加できます。

このコードをテストしたところ、希望どおりに動作しましたが、これがメモリ リークやその他の不快感を引き起こすのか、それとも許容できるものなのか知りたいです。

ありがとうございました!ルカ

4

3 に答える 3

0

私の意見では、オブジェクト自体の内部でオブジェクトを参照することには何のメリットもありません。この主な理由は、複雑さとあいまいさです。

コードの後半でこれをどの程度正確に使用しているかを指摘する場合domElement.objectReference、私または他の誰かがこの参照なしで解決策を提供できると確信しています.

于 2013-10-18T23:37:59.980 に答える