Ich habe versucht, diese Funktion zu sehen, ob andere Objekte arelationship miteinander haben, so habe ich versucht:Wie mache ich Javascript "isPrototypeOf" -Funktion zurück wahr?
var o={name:'abc'};
var o2=o;
console.log(o.isPrototypeOf(o2));
console.log(o2.isPrototypeOf(o));
Nun, es druckt 2 Falschen. Ich fühlte mich seltsam, dass "Prototyp" eine Eigenschaft/Funktion jeder Funktion/jedes Objekts ist. Wie beurteilt JS, ob ein Objekt der Prototyp eines anderen ist?
ich auch versucht:
var Person=function(){
name='abc',
age=30
};
var o1=new Person();
var o2=new Person();
console.log(o1.isPrototypeOf(o2));
console.log(o2.isPrototypeOf(o1));
Wieder druckt 2 Falschen, während ich 2 trues erwarten.
Unendlichkeit. 'a' proto von' b' und 'b' proto von' a', das wird nicht passieren. – Tushar
Sie ordnen Objektverweisen nur Variablen zu. Das hat nichts mit Prototypen zu tun. Um eine Prototypkette zu erstellen, müssen Sie entweder 'new' oder' Object.create' verwenden. – ftor
Bitte lesen Sie die Dokumentation zu 'isPrototypeOf' noch einmal durch. Sie machen "isPrototypeOf" -Funktion wahr ", wenn das eine Objekt tatsächlich der Prototyp des anderen ist. –