function Person(){
}
Person.prototype ={
name: "Nicholas",
age:29,
job: "software engineer",
sayName : function(){
alert(this.name);
}
};
var friend = new Person();
我们将Person.prototype设置为等于一个以对象字面量形式创建的新对象。最终结果相同,但有一个例外:constructor属性不再指向Person了。前面曾经介绍过,每创建一个函数,就会同时创建他的prototype对象,这个对象也会自动获得constructor属性,而我们这里使用的语法,而我们在这里使用的语法,本质上完全重写了默认的 prototype 对象,因此 constructor 属性也就变成了新对象的 constructor 属性(指向 Object 构造函数),不再指向 Person 函数。此时,尽管 instanceof操作符还能返回正确的结果,但通过 constructor 已经无法确定对象的类型了。
这是书中的一段话,可以说完全没看懂,这个constructor到底指向啥,一开始,constructor指向Person,后来为什么又指向Object了呢。。