gpt4 book ai didi

javascript - util.inherits 如何影响原型(prototype)链?

转载 作者:行者123 更新时间:2023-12-02 17:34:02 25 4
gpt4 key购买 nike

在此模式中:

Function ConstrA () {
EventEmitter.call(this);
}
util.inherits(ConstrA, EventEmitter);

var obj = new ConstrA();

ConstrA 和 obj 将拥有自己的原型(prototype)链,无需调用 util.inherits。

util.inherits 是否为 ConstrA 创建第二个原型(prototype)链或替换当前原型(prototype)链,或者只是将 EventEmitter 原型(prototype)链的属性(自己的和继承的)添加到 ConstrA 的原型(prototype)中?

最佳答案

util.inherits 使用一个对象覆盖构造函数的原型(prototype),该对象的原型(prototype)设置为您继承的构造函数的原型(prototype)。

如果您想从另一个对象继承原型(prototype),然后向自定义构造函数的原型(prototype)添加其他方法,则需要确保在定义任何构造函数之前在自定义构造函数上调用 util.inherits其上的其他原型(prototype)方法。

util.inherits 的 node.js 源代码非常简单。你自己看看吧!

https://github.com/joyent/node/blob/490d5ab7808aedb998d1f4f933bf3de748758f62/lib/util.js#L631

然后您可以阅读 Object.Create 的 MDN 文档来填补理解上的剩余空白。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

关于javascript - util.inherits 如何影响原型(prototype)链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22792156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com