每當我重新定義函數的原型並創建它的新對象時,其構造函數就會開始指向根對象函數而不是函數本身。讓我用情景解釋:對象函數在重新定義自定義函數的原型後指向對象函數
var Person=function(firstName,lastName)
{
this.firstName=firstName;
this.lastName=lastName;
}
Person.prototype.getFullName=function()
{
return this.firstName+" "+this.lastName;
}
var student=new Person("Ankur","Aggarwal");
student.constructor //shows Person which is correct
之後,如果我重新定義了人物原型創造的改變
Person.prototype={}
var manager=new Person('John','Smith');
manager.constructor // Points to Object. Why?
也是一個新的對象,如果它指向的對象不是人,怎麼來的它有權訪問像firstName和lastName這樣的Person屬性?