原型是什么,原型链是怎么形成的?
原型对象
- 绝大多数的函数(少数内建函数外),都有一个prototype属性,这个函数prototype属性指向其原型。
- 通过构造函数实例化出来的对象都可以继承原型上的所有属性和方法
- 原型对象默认有一个属性constructor,值为对应的构造函数;另外,有一个属性__proto__,值为Object.prototype
原型链
通过对象__proto__属性指向函数的原型对象(函数.prototype)一层一层往上找,直到找到Object的原型对象(Object.prototype)为止,层层继承的链接结构叫做原型链(通过proto属性形成原型的链式结构,专业术语叫做原型链)
原型链图