构造函数和实例对象和原型对象之间的关系

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>title</title>
  <script>


//    //通过构造函数实例对象,并初始化
//    var arr=new Array(10,20,30,40);
//    //join是方法,实例对象调用的方法
//    arr.join("|");
//    console.dir(arr);
//    //join方法在实例对象__proto__原型
//    console.log(arr.__proto__==Array.prototype);


  </script>
  <script>


    //原型的作用之一:共享数据,节省内存空间
    //构造函数
    function Person(age,sex) {
      this.age=age;
      this.sex=sex;
    }
    //通过构造函数的原型添加一个方法
    Person.prototype.eat=function () {
      console.log("明天中午吃完饭就要演讲,好痛苦");
    };


    var per=new Person(20,"男");
   // per.__proto__.eat();
    per.eat();
   // per.eat();




    //构造函数,原型对象,实例对象之间的关系


    console.dir(Person);
   //console.dir(per);


 /*
    * 构造函数可以实例化对象
    * 构造函数中有一个属性叫prototype,是构造函数的原型对象
    * 构造函数的原型对象(prototype)中有一个constructor构造器,这个构造器指向的就是自己所在的原型对象所在的构造函数
    * 实例对象的原型对象(__proto__)指向的是该构造函数的原型对象
    * 构造函数的原型对象(prototype)中的方法是可以被实例对象直接访问的
    * */



  </script>
</head>
<body>




</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_32849999/article/details/80413783