javascript - 如何在构造函数中创建一个 JS 对象并将 "parent object"作为构造函数参数?

标签 javascript oop object

这个问题可能听起来有点困惑,所以我让代码解释一下:

function Foo(arg) {
  const argument = arg;
  const fooPart = new FooPart(this);

  this.printArg = function() {
    console.log(argument);
  }
}

function FooPart(foo) {
  this.parent = foo;

  this.parent.printArg();

}
let foo = new Foo("this is the argument");

这对我不起作用。我怎样才能解决这个问题或更好地解决这个问题 - 正确的方法是什么?

谢谢

最佳答案

function Foo(arg) {
    this.argument = arg;
    this.fooPart = new FooPart(this);
}

Foo.prototype.printArg = function() {
    console.log(this.argument);
}

function FooPart(foo) {
    this.parent = foo;
    this.parent.printArg();
}

let foo = new Foo("this is the argument");

  1. 你应该在 printArg 定义之后调用 FooPart
  2. 您应该使用 this.parent 访问 parent

关于javascript - 如何在构造函数中创建一个 JS 对象并将 "parent object"作为构造函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496183/

相关文章:

其他方法中的Delphi nil对象

javascript - 如何在 q 中的 promise 链的最后执行代码

javascript - 使用传单获取 geojson 大陆/国家/州的中心

javascript - 如何设置 Highchart 中的选项默认处于非事件状态

c++ - 使用头文件和源文件的模板化类

php - 在 PHP 中为我的类方法提供默认对象

c++ - 为什么我们需要抽象类而不是虚拟类?

javascript - 为什么将一个函数(属于一个对象)分配给一个变量会有这样的行为?

使用链接元素时未加载 JavaScript

c# - 亚音速可以实现吗