为什么Foo().prototype.constructor等于这个函数自己?

FnaticE 2021-04-05 07:45:58
function Foo(){};
Foo.prototype.constructor===Foo //true


这个概念有点疑惑,为什么函数的原型对象的constructor,等于这个函数自己?我粗浅地理解为,函数的原型prototype,是由自己创建的。。。但又觉得这么理解似乎不大对。。。

这个就只需要死记硬背记住就好了吗?记住是很容易,但是还是想知其所以然。不知道大家有什么见解吗?
...全文
150 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
FnaticE 2021-04-06
  • 打赏
  • 举报
回复
引用 1 楼 河南棒小伙 的回复:
基本上函数和原型都是成对出现的,除非你手动将函数的原型设置为空,我的理解原型的属性都是给函数的实例所继承的,目的是为了让所有实例知道自己的构造器是Foo,像是原型就是对构造器所有实例的一种描述,描述了该构造器构造出来的实例都会具有什么属性和什么方法以及构造者是谁,像是产品说明书,而构造器就是机器流水线。
谢谢,感觉原型里的constructor对象,就是一种描述,产品说明书这个比喻太恰当了。Foo.prototype.constructor===Foo我现在理解为让实例知道你们的构造器是Foo。
河南棒小伙 2021-04-06
  • 打赏
  • 举报
回复
基本上函数和原型都是成对出现的,除非你手动将函数的原型设置为空,我的理解原型的属性都是给函数的实例所继承的,目的是为了让所有实例知道自己的构造器是Foo,像是原型就是对构造器所有实例的一种描述,描述了该构造器构造出来的实例都会具有什么属性和什么方法以及构造者是谁,像是产品说明书,而构造器就是机器流水线。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧