构造函数 + 原型

65 阅读1分钟
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0,maximum-scale=1,minimum-scale=1,user-scalable=no"
    />
    <title>`构造函数+原型`.html</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
    </style>
  </head>
  <body>
    <script>
      // 构造函数 + 原型 搭配来使用
      // 原型 本质 是一个对象
      // 当我们在创建一个 构造函数的时候 原型 被创建
      // 如果我们在原型对象上 增加一个属性或者方法  那么实例 拥有所增加的方法
      // 原型 就是 DNA 构造函数 父亲 实例 孩子
      // function Person() {
      //   this.b = function () {};
      // }
      // // 访问原型
      // // console.log(Person.prototype);
      // Person.prototype.a = function () {
      //   console.log('这个是a方法');
      // };
      // const p1 = new Person();
      // // console.log(p1);
      // p1.a();
      // function Obj() {
      // }
      // Obj.prototype.a=function(){
      // }
      function Person() {
        this.hair = 100;
        // this.decrease = decrease;
      }
      Person.prototype.decrease = function () {
        this.hair--;
      };
      /* 
      1 原型  本质是一个对象    在我们创建构造函数的时候就拥有
      2 在原型上添加的一些方法,可以直接被 实例所使用和共享 
      3 可以这么理解  构造函数=父亲 实例=孩子 原型=DNA
      4 使用面向对象的方式来创建对象
        1 构造函数内部 来定义 非函数类型的属性 如 姓名 身高 肤色 性别 
        2 原型来定义  函数类型的属性 函数 
      */  
    </script>
  </body>
</html>