【发布时间】:2014-07-25 10:20:48
【问题描述】:
每当我重新定义函数原型并创建它的新对象时,它的构造函数开始指向根 Object 函数而不是函数本身。让我用场景来解释一下:
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 原型并创建了一个已更改的新对象
Person.prototype={}
var manager=new Person('John','Smith');
manager.constructor // Points to Object. Why?
另外,如果它指向的是 Object 而不是 Person,它怎么能访问 Person 属性,比如 firstName 和 lastName?
【问题讨论】:
标签: javascript prototype