,我讀了Object.gePrototypeOf(someObject)
返回傳遞的對象和aPrototype.isPrototypeOf(someObject)
返回true的原型如果aPrototype
是someObject
原型。很明顯,如果Object.getPrototypeOf(someObject)
返回一個名爲aPrototype
的原型,那麼aPrototype.isPrototypeOf(someObject)
將返回true。但是這不會發生在我的代碼中:Object.getPrototypeOf和example.isPrototypeOf(OBJ)給混亂的結果
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'用來在鏈中查找的構造函數。 – Bergi