1.原型
函数都带有一个prototype 属性,这是属性是指向构造函数的原型对象,这个对象包含所有实例共享的属性和方法。
原型对象都有一个constructor 属性,这个属性指向所关联的构造函数。
每个对象都有一个__proto__ 属性[非标准的方法],这个属性指向构造函数的原型 prototype
2.原型链
当访问实例对象的某个属性时,会先在这个对象本身的属性上查找,如果没有找到,则会 通过 __proto__ 属性去原型上查找,如果还没有 找到则会在构造函数的原型的__ proto__中查 找, 这样一层层向上查找就会形成一个作用域链,称为原型链