原型对象 :
js中,绝大多数函数都有一个prototype 属性,指向原型对象
基于构造函数创建出来的实例 ,都可以共享访问原型对象上的属性和方法
比如: hasOwnProperty() 和 toString() 等 是Object原型对象的方法,可以被任何对象当作自己的方法使用
hasOwnProperty() : 用于判断,某个属性,是不是自己的,还是原型链上的
实例对象 访问 属性和方法时,优先访问自己身上的,自己身上没找到,往原型上找,如果还没有找到,会继续找原型的原型,直到找到顶端,Object.prototype,如果还没有找到,返回null
Js中 ,每个对象都有一个__proto__属性,这个属性指向了当前对象的构造函数的原型。
对象 可以通过 自身的__proto__属性与它的构造函数的原型对象连接起来
而因为他的原型对象也有__proto__,因此这样就串联成一个链式结构