首页 > 其他 > 详细

原型和原型链

时间:2020-01-14 00:26:14      阅读:109      评论:0      收藏:0      [点我收藏+]

一、原型分为两种,直接原型和间接原型。

对于普通对象来说,Object.prototype是直接原型。

对于函数和数组来说,Object.prototype是间接原型。

1.每个对象都有原型,原型里存放着对象的共有属性。

2.对象的原型也是对象。

3.对象的原型也有原型。

Object.prototype保存了一个对象的地址,这个对象包含了所有普通对象的共有属性,

叫做对象的原型。

Array.prototype保存了一个对象的地址,这个对象包含了所有数组的共有属性,叫做对象的原型。

Function.prototype保存了一个对象的地址,这个对象包含了所有函数的共有属性,叫做对象的原型。

 

原型链:JavaScript中所有的对象都是由它的原型对象继承而来的,而原型对象自身也是一个对象,它也有自己的原型对象,这样层层上溯,就形成了一个类似链表的结构,这就是原型链。

所有原型链的终点都是Object函数的prototype属性,因为在JavaScript中的对象都默认由Object()构造。Object.prototype指向的原型对象同样拥有原型,不过他的原型是null,而null没有原型。

所以查找属性的时候查到了Object.prototype就可以停止查找了。

重点知识:

1.JS公式

2.对象.proto ===其构造函数.prototype

1.根公理

object.prototype是所有对象的(直接或间接)原型

1.函数公理

2.所有函数都是由Function构造的

原型和原型链

原文:https://www.cnblogs.com/sna-ling/p/12189815.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!