我尝试这个功能,看看不同的对象具有相互原有关系,所以我尝试:如何让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