我嘗試這個功能,看看不同的對象具有相互原有關係,所以我嘗試:如何讓Javascript「isPrototypeOf」函數返回true?
var o={name:'abc'};
var o2=o;
console.log(o.isPrototypeOf(o2));
console.log(o2.isPrototypeOf(o));
那麼,它打印2個falses。我感到奇怪的是,「原型」是每個函數/對象的屬性/功能,所以JS如何判斷一個對象是否是另一個對象的原型?
我也試過:
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));
再次,它打印2個falses,而我預計2個trues。
無限。 'a'的'b'原型和'a'的原型,這不會發生。 – Tushar
您只需將對象引用分配給變量。這與原型無關。要創建一個原型鏈,您需要使用'new'或'Object.create'。 – ftor
請重新閱讀'isPrototypeOf'的文檔。通過讓一個對象實際上成爲另一個對象的原型,「使」isPrototypeOf'函數返回true「。 – 2016-08-05 10:22:08