原型和原型链

好久没记了有点忘记了,来记录一下。

1、函数和对象的关系:对象都是通过函数创建的,函数也是一个对象。

2、原型和原型链

1.原型:原型分为两种

  • prototype:每一个函数都会有prototype属性,它指向函数的原型对象,被称为显式原型
  • proto:每一个实例对象都会有__proto__属性,它指向创建该对象的函数的原型对象,被称为隐式原型

2.原型链:每个对象都有一个_proto_,它指向创建该对象的函数的原型对象;然后这个原型对象又有一个_proto_,指向创建它的函数的原型对象,这样逐层深入直到顶层对象Object的原型对象,这就形成了一个原型链。

3、Function和Object

1.Function是最顶层的构造函数,它创建了所有的函数,包括它自己

2.Object是最顶层的对象,所有对象都继承Object的原型对象,它也是被Function创建出来的

4、分类:

1.普通的函数和对象:

(1)函数.prototype:指向函数的原型对象。

(2)函数.proto===Function.prototype

(3)函数.prototype.proto===Object.prototype

(4)对象.proto:指向创建该对象的函数的原型对象。

2.顶层的函数和对象:

(1)Object.proto===Function.prototype

(2)Object.prototype.proto===null

(3)Function.proto===Function.prototype

(4)Function.prototype.proto===Object.prototype

原文链接:https://blog.csdn.net/qq_27984747/article/details/127399888

相关推荐
ourenjiang1 天前
【学习设计模式】原型模式
学习·设计模式·原型模式
迷藏4943 天前
Python+DuckDB:轻量级BI流水线实战
java·开发语言·python·原型模式
J2虾虾7 天前
Spring AI Alibaba - 检索增强生成(RAG)
人工智能·spring·原型模式
skywalk81639 天前
根据言律的语法,能否用racket进行开发呢?主要探讨是否可行。 racket在这里:E:\Program Files\Racket\Racket.exe
开发语言·原型模式
invicinble11 天前
设计模式(类的拓扑结构)(描述总纲)
设计模式·原型模式
UXbot11 天前
初创公司如何选择合适的UI工具支撑快速迭代产品?
人工智能·低代码·ios·交互·原型模式
之歆12 天前
Day18_JavaScript高级核心:原型链、继承与事件循环机制深度解析(上)
开发语言·javascript·原型模式
看山是山_Lau14 天前
原型模式:当复制比重新创建更高效时
设计模式·原型模式
WHS-_-202217 天前
Millimeter Wave ISAC-SLAM: Framework and RFSoC Prototype
人工智能·算法·原型模式
weixin_3077791317 天前
基于Vosk与CTranslate2的实时语音识别翻译系统 —— 完整C++实现详解
人工智能·算法·自动化·语音识别·原型模式