原型,构造函数,实例,__proto__

 

再说说__proto__,这个孩子性格慢向,所以即使在现代浏览器广为支持得今天也不建议使用,性能特别慢,而且影响所有来自该[[prototype]]的对象。只是拿出来了解了解;

1.它是个啥?

  原型对象的属性访问器(Object.prototype.__proto__),能够暴露所有通过它访问的对象的[[prototype]]属性;

2.eg:

  function Person(){}

  let p = {
     a:function(){
       alert(8)
     }
  }

 Person.prototype.__proto__ = p;

 var you = new Person();

 you.a();

 

console.log(Person.prototype)   ////Object{   constructor:function Person(){}     } 构造函数Person的原型对象是Object对象
console.log(you.__proto__ )      ////Object{   constructor:function Person(){}     } 由此看出实例对象的原型对象是构造函数的原型对象

console.log(you.__proto__ === Person.prototype)/// true

posted @ 2017-03-21 11:35  百年美  阅读(370)  评论(0编辑  收藏  举报