初识面向对象之原型(重点)

56 阅读1分钟
  • 原型
    • 又名: 原型空间 原型对象
  • 什么是原型
    • 每一个函数天生拥有一个属性,prototype,他的属性值是一个对象
    • 我们通常把这个对象叫做这个函数的原型(空间\对象)
    • 这个对象中有一个属性叫做constructor,这个属性表示的是当前这个原型是哪个函数的原型
    • 每一个对象天生拥有一个属性__proto__(前后两个下划线)
    • 这个属性指向自己构造函数的原型
 function Person(){}
      //向函数的原型(对象)上添加一个属性age
      Person.prototype.age = 18
      Person.prototype.name = '千峰'
      Person.prototype.fn =  function (){
        console.log('我是添加到abc函数的原型对象上的一个函数')
      }
    
    let p1 = new Person()
    // console.log(Person.prototype)
    console.log(p1.__proto__)
  • __proto__属性指向自己构造函数的原理
    • 因为p1这个对象的构造函数是Person
    • 那么也就是说,p1.__proto__实际指向的就是Person这个函数的原理