これはMy Old Questionその作成したとき、私は、そのオブジェクトの内部で、オブジェクトのコピーを保存することができます - 続き:
これは、新しい学生のオブジェクトを作成し、私の機能であるの続きです:
function student(id, name, marks, mob, home){
this.id = id;
this.name = name;
this.marks = marks;
this.contacts = {};
this.contacts.mob = mob;
this.contacts.home = home;
this.toContactDetailsString = function(){
return this.name +':'+ this.mob +', '+ this.home
}
}
オブジェクトの内部で初期化されたオブジェクトのコピーを作成したいと考えています。
function student(id, name, marks, mob, home){
this.id = id;
this.name = name;
this.marks = marks;
this.contacts = {};
this.contacts.mob = mob;
this.contacts.home = home;
this.toContactDetailsString = function(){
return this.name +':'+ this.mob +', '+ this.home
}
this.baseCopy = this; //Not sure about this part
}
しかし、問題は、それが私に現在のオブジェクトのコピーの無限ループをbaseCopyに与えていることです。また、私のオブジェクトの属性を更新すると自動的に更新されます。
1.初期値を持つオブジェクトのコピーをオブジェクトの内部に保存することはできますか?
2.それは私は、これはハードコーディング属性名なしで、純粋なJSに
"baseCopy"にオブジェクトのコピーを割り当てずに参照を割り当てます。コピーが行われないので、 "baseCopy"は常に最新の状態です。実際のコピーを入手する方法を知るには、たとえばhttp://api.jquery.com/jQuery.extend/をご覧ください。 – Niko
'this'はこの文脈で' window'オブジェクトを参照しているようです。 – Stefan
それで、回答のいずれかがあなたのために掲載されましたか? – Cerbrus