原型对象:
每一个函数都具有prototype属性,它被默认为一个对象,为原型对象。
它有两个默认的不可枚举的属性:constructor和__proto__;constructor指向对象,__proto__为隐性原型链;
原型分类:
显性原型prototype和隐式原型__proto__。
原型链:
当对象使用属性的时候,先在自身查找,有得到直接使用,没有的就沿着__proto__这条链往下查找,直到Object原型位置,有就返回相对应的值,没有就返回underfined。
为什么使用原型:
使用prototype,对象之间通过内部的prototype属性进行关联,这种模式我们可以称之为“委托”,其实对于使用prototype,更准确的说法是——使得对象之间的关系不是复制而是委托,内部委托比起直接委托来说可以让API更加清晰。