原型

2019-03-21  本文已影响0人  Cheng_Z

<script>
function Person(name,age){
this.name = name;
this.age = age;
}

     //通过原型添加方法 解决数据共享问题 节省内存空间
     Person.prototype.eat=function(){
         console.log("吃饭")
     }


     var p1 = new Person('小明',20)
     var p2 = new Person('小红',30)
     console.dir(p1)
     console.dir(p2)
    //  console.dir(Person)
    //  p1.eat();//吃草 先调用对象本身的 如果对象本身没有 我就会调用原型的  存在优先级 如果都找不到则报错
    console.log(p1.__proto__==Person.prototype)

    //原型
    // 实例对象有_proto_这个属性 他叫原型  也是一个对象,这个属性是给浏览器使用,不是标准的属性----->__proto__----->可以叫原型对象
    //构造函数中有prototype这个属性 叫原型 ,也是一个对象,这个属性是给程序员使用,是标准的属性------>prototype--->可以叫原型对象

//     实例对象的__proto__和构造函数中的prototype相等--->true
// * 又因为实例对象是通过构造函数来创建的,构造函数中有原型对象prototype
// * 实例对象的__proto__指向了构造函数的原型对象prototype


</script>
上一篇下一篇

猜你喜欢

热点阅读