私は、(Model.validator)バリデーターインスタンスを持ち歩くModelを持っており、Modelの属性にアクセスするにはValidatorが必要です。だから、私が出ていることオブジェクト間の循環参照は悪い習慣ですか?
var Validator = function(model) {
this.model = model;
};
var Model = function() {
this._attributes = {};
this.validator = new Validator(this);
};
var model = new Model();
以下れるこのコードは、これらの2つのオブジェクト間の循環参照を作成します。これはメモリリークの原因となる悪い習慣ですか?それを実装する方法に関する他のアイデア?
P.S. Angular.jsスコープ内のオブジェクト間にこのような循環参照があります。
@ArunPJohny :-)自分を台無しにしない限り、それは問題ありません:IE6で多分...しかし、現代のJSエンジンは完全にGCサイクルを処理することができます。 – georg
@ArunPJohny:普通のJSオブジェクトで、DOMを含んでいない場合でもIE6にはありません – Bergi
循環参照はシリアル化(例えば 'JSON.stringify() 'を介して) – Uriel