我正在为 web 开发人员阅读专业的 javascript,他们提供以下内容:
此代码有效:
var friend = new Person();
Person.prototype.sayHi = function(){
alert("hi");
};
friend.sayHi();
但这段代码没有:
function Person(){
}
var friend = new Person();
Person.prototype= {
constructor: Person,
name: "Nicholas",
age: 29,
job: "Software Engineer",
sayName: function () {
alert(this.name);
}
};
friend.sayName();
我知道,在第二个示例中,原型是在friend
实例化变量之后定义的,但在这种情况下,为什么第一个示例有效?