原型对象:每个函数都有prototype属性,称之为原型,这个就是原型对象,在这个原型可以放一些属性和方法,可以共享给实例对象使用,同时原型也是可以继承的
原型链:对象都有__proto__属性,这个属性就是指向它的原型对象,原型对象也是对象,所以它也有__proto__属性,指向它的 原型对象,像这样一次一次形成的链式结构就是原型链,在最上层找不到则会返回null
原型可以用来继承,但是原型继承有缺点:一个子对象修改了原型对象共享数据会影响到所有继承自该原型的对象。所以一般不会单独去使用原型继承会使用组合式继承,同时使用原型继承加构造函数继承