js中,prototype是函数的原型。每个函数都是一个对象,并且拥有一个属性prototype,该属性也是一个对象,是属性和方法的集合。
原型链:实例对象的原型__proto__指向new出该实例对象的构造函数原型prototype,再指向原始的对象原型Object.prototype,再指向null,形成原型链。
使用prototype的好处是不会产生额外的内存,所有实例化后的对象都会从原型上继承这个属性或方法。当一个子类需要拥有父类的某些属性或方法,该属性或方法可以覆盖,又可以添加自己的属性和方法,这个操作不影响父类,这个时候使用prototype。