每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量创建的对象都连接到object.prototype,它是JavaScript中的标配对象。
当你创建一个新对象时你可以选择某个对象作为它的原型。原型连接在更新时是不起做用的。当我们对某个对象做出改变时,不会触及该对象的原型;
原型连接只有在检索值的时候才被用到,如果我们尝试去获取对象的某个属性值,但该对象没有此属性名,那么JavaScript会试着从原型对象中获取属性值。如果那个原型对象也没有该属性,那么再从它的原型中寻找,以此类推,直到该过程最后到达终点object.prototype.如果想要的属性完全不在于原型链中,那么结果就是undefined值。这个过程称为委托。这个原型连接形成链就是原型链
原型关系时一种动态关系。如果我们添加一个新的属性到原型型中,该属性值会立即对所有基于该原型创建的对象可见。
function person(){ this.name = function(){ console.log("li") } } person.prototype.age = function(age){ this.age = age console.log(this.age ) } var res = new person() res.age(14)