JS高级---实例对象使用属性和方法层层的搜索 (实例对象-->原型对象-->报错)

实例对象使用属性和方法层层的搜索:

 
实例对象使用的属性或者方法, 先在实例中查找, 找到了则直接使用;
找不到则, 再去实例对象的__proto__指向的原型对象prototype中找, 找到了则使用, 找不到则报错。
 
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>title</title>
  <script>
    function Person(age, sex) {
      this.age = age;//年龄
      this.sex = sex;
      // this.eat = function () {
      //   console.log("构造函数中的吃");
      // };
    }
    Person.prototype.sex = "";
    Person.prototype.eat = function () {
      console.log("原型对象中的吃");
    };


    var per = new Person(20, "");
    console.log(per.sex);//男  实例化的属性或方法,现在实例对象里面找
    per.eat(); //"原型对象中的吃"    实例对象中找不到的时候,再去原型对象中找
    console.dir(per);


  </script>
</head>

<body>


</body>

</html>

 

posted @ 2019-12-27 20:02  jane_panyiyun  阅读(335)  评论(0编辑  收藏  举报