先看一段代码
function Person(name) {
this.name=name;
}
Person.prototype.eat=function () {
console.log(this.name+" is eating");
}
var p1=new Person('Gecer');
这段代码对应的这样一段过程
1.先创建一个 Function对象Person,同时创建了一个原型对象,并将prototype属性指向了原型对象,同时原型的constructor(构造器)指向了这个方法。
2.在原型中加入eat方法
3.创建Person对象p1,同时也穿件了p1对象中的name属性并赋值为“Gecer”,并将__proto__指向了原型(为什么说是指向,请看下方使用全等于返回的结果是true)
所以对应原型链结构应如下: