__proto__ 和 prototype 的关系

      因为经常说不清这两个的准确的关系,在这儿记录一下

      prototype 原型  

      __proto__ 每个js对象都有一个 __proto__ 的属性,指向该对象的原型

     通常来说  实力是通过对  __proto__ 属性的访问 去对  prototype对象进行访问

     比如   const test = new Object()    // test 在这儿就是一个实例   Object是一个构造函数

    构造函数 ( 在这儿是Object )  的 prototype 属性指向原型  所以 const objProto = Object.prototype   

    而objProto是一个js对象,上边说过 每一个js 对象都有一个 __proto__的属性,指向这个对象的原型

    所以  test.__proto__ === objProto === Object.protype

 

   “原型链是由原型对象组成的,每个对象都有__proto__属性,指向创建该对象的  构造函数的原型 ,然后通过__proto__属性将对象

   链接起来,组成一个原型链,用来实现继承和共享属性”

  

     

posted @ 2019-02-23 19:39  木木_Cindy  阅读(426)  评论(0编辑  收藏  举报