gpt4 book ai didi

javascript - 为什么nodejs不能像浏览器js那样继承

转载 作者:行者123 更新时间:2023-11-30 00:24:30 25 4
gpt4 key购买 nike

我有两个构造函数,子函数从父函数继承了一些方法和属性,就像这样

function foo(){
this.bar="baz";
}

function fubar(){
this.qux="zubar";
}
fubar.prototype=new foo();
fubar.prototype.constructor=fubar;
module.exports.fubar=fubar;

在文件继承中工作正常,但导出时无法访问父元素我也试过util.inherits 结果是一样的

最佳答案

您只需要从 fubar 构造函数调用 foo 构造函数,这样 .bar 属性将在 中正确初始化>foo 构造函数:

function foo(){
this.bar = "baz";
}

function fubar(){
foo.call(this);
this.qux = "zubar";
}
fubar.prototype = Object.create(foo.prototype);
fubar.prototype.constructor = fubar;
module.exports.fubar = fubar;

对原型(prototype)使用 Object.create() 也更好,尽管您本来可以使用的。

关于javascript - 为什么nodejs不能像浏览器js那样继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31955117/

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