原型与原型链

这是一个菜鸡对于这两个知识点的一些浅薄理解。

原型链:每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层,以此类推。这种关系常被称为原型链(prototype chain),它解释了一个对象会拥有定义在其他对象中的属性和方法。

4句结论性的话:
1.每一个函数数据类型(普通函数,类)都有一个天生自带的属性:prototype(原型),并且这个属性是一个对象数据类型的值。
2.并且在prototype上浏览器天生给它加了一个属性constructor(构造函数),属性是当前函数(类)本身。
3.每一个对象数据类型(普通的对象、实例、prototype等)也天生自带一个属性:__proto__,属性值是当前实例所属类的原型。
4.对象.__proto__===对象的构造函数.prototype。

接下来我们在控制台一一验证这些话。


原型链

你可能感兴趣的:(原型与原型链)