举个生活中的例子,我没有房子,但是我父亲有我可以住我父亲的房子,那我父亲就相当于原型,原型,实例,构造函数的关系,构造函数有一个protype属性和他所创建的实例对象的属性__proto__指向同一个原型,原型上面有一个construct的属性指向构造函数。
为什么要有原型?
原型上面主要是共享属性和方法给所有的实例,因为构造函数创建实例的时候,会将构造函数中的属性和方法重新创建然后赋值给所有的实例,显然我们是没有必要创建那么多同名却不相等的方法,和属性。
原型链:
因为每一个属性都有一个__proto__的属性会指向他的原型,原型也通过这个属性指向他的原型,直到原型指向Object,Object的原型指向的是null。
继承:
继承案例