これは私の古い質問の続きです
これは、新しい学生オブジェクトを作成する私の関数です。
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.関数をコピーしないことは可能ですか?
3.属性名をハードコーディングせずに、純粋なJSを使用してこれが可能かどうかを知りたいのですが、