【发布时间】:2016-02-06 17:16:57
【问题描述】:
我读到Object.gePrototypeOf(someObject) 返回传递对象的原型,如果aPrototype 是someObject 的原型,aPrototype.isPrototypeOf(someObject) 返回 true。对我来说很明显,如果Object.getPrototypeOf(someObject) 返回一个名为aPrototype 的原型,那么aPrototype.isPrototypeOf(someObject) 将返回true。但这并没有发生在我的代码中:
function person(fname, lname)
{
this.fname = fname;
this.lname = lname;
}
var arun = new person('Arun', 'Jaiswal');
console.log(Object.getPrototypeOf(arun)); //person
console.log(person.isPrototypeOf(arun)); //false
怎么了?
【问题讨论】:
-
@GameAlchemist:不。
isPrototypeOf也测试了整个链,与instanceof的不同之处在于它不使用.prototype用于在链中查找的构造函数。
标签: javascript prototypal-inheritance