原型链模式基础

来源:互联网 发布:如何搭讪 知乎 编辑:程序博客网 时间:2024/05/22 00:21

1.  每一个函数的数据类型(普通函数,类) 都有一个天生自带的属性:prototype(原型),并且这个属性是一个对象数据类型的值

2.  并且prototype上浏览器给它天生增加一个属性 constructor(构造函数),属性值是当前函数(类)本身

3 每一个对象数据类型(普通对象,实例,prototype)也是天生自带一个属性:__proto__,属性值是当前实例所属类的原型(prototype)


object 是js中所有对象数据类型的基类(最顶层的类)

1.在object.prototype上没有__proto__这个属性


原型链模式


通过 对象名。属性名的方式获取属性值的时候首先在对象的私有的属性上进行查找,如果私有中存在这个属性,则获取的是私有的属性值;

如果私有的没有,则通过__proto__,找到所属类的原型(类 原型上定义的属性和方法都是当前实例公有的属性和方法)原型链上存在的话,获取的是公有的属性值,

如果原型上也有  则继续通过原型上的__proto__,继续向上查找,一直找到object.prototype 为止。。。

原创粉丝点击