每当我重新定义函数的原型并创建它的新对象时,其构造函数就会开始指向根对象函数而不是函数本身。让我用情景解释:对象函数在重新定义自定义函数的原型后指向对象函数
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属性?