我有以下 Javascript 代码;
var Person = function(name, age) {
this.name = name;
this.age = age;
return this;
};
Person.prototype.getAge = function() {
alert("Age : " + this.age);
}
var p1 = new Person("xyz",10);
p1.getAge();
这非常有效,我收到警报 Age : 10
现在,如果我如下更新代码(在实例化 Person 对象 p1 后定义 getAge());
var Person = function(name, age) {
this.name = name;
this.age = age;
return this;
};
var p1 = new Person("xyz",10);
Person.prototype.getAge = function() {
alert("Age : " + this.age);
}
p1.getAge();
它仍然将输出返回为“Age:10”
现在我的问题是它如何正确工作,因为 Person.prototype.getAge 是在我们实例化 Person 对象 p1 之后定义的?是因为“原型”的工作方式吗?