原型
每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量 创建的对象都连接到Object.prototype,它是JavaScript中的标配对象。
当你创建一个新的对象时,你可以选择某个对象作为它的原型。可以给Object增加一个create方法。这个方法使用原对象作为其原型的新对象。
原型连接在更新时是不起作用的,当我们对某个对象作出改变时,不会触及该对象的原型。 原型连接只有在 检索值时才会被用到。如果我们尝试去获取对象的某个属性值,但改对象没有此属性名,那么JavaScript会试着从原型对象中获取属性值。
如果那个原型对象也没有该属性,那么再从它的原型中寻找,以此类推,直至 Object.prototype。如果想要的属性完全不在于原型链中,那么结果就是undefined,这个过程称为委托
原型关系:
原型关系是一种动态的关系。如果我们添加一个新的属性到原型中,该属性会立即对所有基于该原型创建的对象可见