每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么它就会去prototype里找这个属性,这个prototype又会有自己的prototype。
于是这样一直找下去,也就是我们平时所说的原型链。
关系:instance.constructor.prototype = instance.proto
特点:
javascript对象是通过引用来传递的,我们创建的每个新对象,实体中并没有一个属于自己的原型副本。
当我们修改原型的时候,与之相关的对象也会继承这一改变。
当我们需要一个属性时,javascript引擎会先看当前对象中是否有这个属性,如果没有的话,就会找它的prototype对象中是否有这个对象。递推下去,一直检索到Object内置对象。
function Func(){
Func.prototype.name = "Sean";
Func.prototype.getInfo = function(){
return thhis,name;
}
var person = new Func();
console.log(person.getInfo());
console.log(Func.prototype);
}