- 所有的构造函数都有一个prototype属性,这个属性叫做原型对象
- 所有的构造函数new出来的对象都有一个原型对象
下面我用一张图来给大家解释
prototype是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法
所有通过同一个构造函数创建的实例对象都会共享同一个prototype原型,原型诞生的意义就是实现代码复用
原型的执行顺序:
首先在实例上查找,如果实例有方法或属性就返回,如果没有,就去原型上查找,如果有就返回,如果原型上没有对应的属性或方法,就去最外层的Object.prototype上查找,有就返回,没有就返回undefined