构造函数、原型与实例化对象三者间的关系
1、任何一个函数都有一个prototype属性,他本身也是一个对象
2、构造函数也是函数,所以也有prototype属性,他本身是一个对象,我们称之为原型
3、原型对象上的所有属性和方法名都可以被实例化对象所继承
4、任何一个对象都有constructor属性,实例化对象的constructor属性指向的是构造函数
5、原型也是对象,所以原型也有constructor属性,原型对象的constructor属性指向的是构造函数
6、任何一个对象都有一个__proto__属性,实例化对象的__proto__属性指向的是构造函数的原型
7、原型对象的__proto__属性指向Object构造函数原型
8、Object构造函数的原型__proto__指向null
9、原型链最终指向null