原型链:
当在实例对象中访问一个属性时,首先会在该对象内部(自身属性)寻找,如找不到,则会向其__proto__指向的原型中寻找,如仍找不到,则继续向原型中__proto__指向的上级原型中寻找,直至找到或Object.prototype.__proto__为止(值为null),这种链状过程即为原型链。
原型:
①所有引用类型(实例对象)都有一个__proto__(隐式原型)属性,属性值是一个普通的对象
②所有构造函数都有一个prototype(原型)属性,属性值是一个普通的对象
③所有引用类型(实例对象)的__proto__属性指向它构造函数的prototype
原型的使用以及描述
(1)函数被创建是都有一个prototype属性,它是原型对象,里面包含着
实例共享的属性和方法
(2)原型对象中有一个constructor属性,它指向构造函数
(3)创建出来的实例对象,有一个内置的__proto__属性,指向该实例
所对应的原型对象
所以Obj.prototype===obj.__proto__
Obj.prototype.constructor===obj.__proto__.constructor