码迷,mamicode.com
首页 > 其他好文 > 详细

原型和原型链

时间:2020-01-13 23:32:57      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:cti   自己   font   prototype   mil   java   type属性   sof   地址   

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

对于普通对象来说,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构造的

原型和原型链

标签:cti   自己   font   prototype   mil   java   type属性   sof   地址   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!