原型和原型链

原型

原型: 每个函数都有 prototype 属性,称之为原型
因为这个属性的值是一个对象,称为 原型对象(Array.prototype)

作用

  1. 存放一些属性和方法
  2. 在 JS 中实现继承
1
2
3
const arr = new Array(1, 2, 3);
arr.reverse();
arr.__proto__ === Array.prototype;

__proto__:每个对象都有__proto__属性
作用: 这个属性指向它的原型对象

原型链

对象都有__proto__属性,这个属性指向它的

person—__proto__—>person.prototype—__proto__—>Object.prototype—__proto__—>null