You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Object构造函数是由哪个构造函数创建的?

Object构造函数的原型指向问题解答

首先先澄清一个概念误区:你提到的「Object的原型为Object.prototype」是混淆了两个不同的原型相关属性:

  • Object.prototype是Object作为构造函数的prototype属性,它的作用是作为所有new Object()生成的普通对象的原型
  • 而Object本身本质是一个函数实例,它作为对象的内部原型(也就是__proto__指向的内容)是另一套逻辑

接下来直接回答你的两个问题:

  1. 你输出Object._proto_看到的构造函数就是Function,这确实意味着Object是由Function构造出来的
    所有JS内置构造函数(Object、Array、String等)本质都是函数,而所有函数都是Function的实例,按照原型链规则,对象的__proto__指向创建它的构造函数的prototype属性,所以Object.__proto__ === Function.prototype,你可以在控制台直接运行这段代码验证,返回结果为true。

  2. Object具备普通函数的属性,正是因为它继承了Function.prototype上的方法
    你看到的bind、call、arguments等属性,本身就是定义在Function.prototype上的内置成员,所有函数实例都会继承这些属性,Object作为Function的实例自然也能访问到这些方法。

补充一个原型链的特殊规则:Function本身也是函数,所以Function.__proto__ === Function.prototype同样成立,这是JS为了闭环原型链设置的内置规则。

内容的提问来源于stack exchange,提问作者Denkhis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:36:04