javascript - 函数的原型(prototype)是如何创建的?

标签 javascript prototype

function Circle(radius) {
    this.radius = radius;
}

我试图通过使用控制台来理解对象和原型(prototype)。当我尝试“Circle”时,它给出了该功能。但是当我尝试 Circle.prototype 时它给出了一个对象。 Circle 是如何获得原型(prototype)属性(property)的?它里面有对象的构造函数和原型(prototype)。有人可以解释一下这种层次结构

enter image description here

最佳答案

当你创建新函数时,JS将创建具有名称、长度和原型(prototype)属性的新函数对象。名称是函数名称,长度是参数数量,原型(prototype)是对 JS 创建的新对象的引用,该新对象的构造函数属性是对第一个函数对象的引用。所以当你创建一个函数时,你实际上创建了 2 个新对象,函数对象和原型(prototype)对象。

如需了解更多信息,请观看这​​个 30 分钟的讲座:

http://www.objectplayground.com/

如果您只想要功能部分,请转至 16:40 分钟。

关于javascript - 函数的原型(prototype)是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39562674/

相关文章:

javascript - 扩展 RegExp 原型(prototype)而不影响原始行为

javascript - 如何操作对象原型(prototype)的属性?

javascript - 接收一个对象(参数)并返回一个数组

javascript - 最后点击递增或递减按钮将调用ajax函数

javascript - 重新定义原型(prototype)方法

javascript - ajax成功函数的返回值

node.js - 在 node.js : module. exports=Prototype 或 exports.Prototype=Prototype 中导出原型(prototype)?

javascript - react Hook : paradigm transition problem from sync to async

javascript - 使用javascript动态更改css类属性

javascript - 如何在 npm 中阻止广告?