1.原型对象的概念:

<script>
   function Person(name,age){
     this.name=name;
     this.age=age;
   }
   Person.prototype.say=function(){
       console.log('你好,我是'+this.name)
     }
  var lz=new Person('lz',12)
  console.log(lz)
      ls.say()
</script>

 

所有函数只要一创建出来,浏览器就会分配一个原型对象给这个函数,通过这个函数的prototype属性可以找到自己的原型对象。

原型对象身上的属性contructor  又可以找到自己的函数。

2.实例的概念:

一个对象是通过某个构造函数new出来的,这个对象就是某个构造函数的实例。

在js中,实例默认就可以访问自己构造函数的原型上的属性。

实例上的有一个属性 __proto__ ,可以访问到原型对象

lz.__proto__ ===Person.prototype

对象查找属性的方法,现在自己身上找,如果有直接使用,如果没有,顺着原型链往上找,找到了就是使用,找不到就继续往上找。

3.原型链

从实例开始,实例默认可以访问自己构造函数的原型,这个原型也是其他构造函数的实例,也可以访问自己构造函数的原型,原型与原型之间的连接关系,我们称之为原型链。

 

posted on 2019-09-25 21:59  宅到深夜  阅读(192)  评论(0)    收藏  举报