Javascript生成嵌套对象的实例

Javascript make instance of nested object

本文关键字:实例 对象 嵌套 Javascript      更新时间:2023-09-26

function OB(a){
  this.a;
  function Node(b){
    this.b = b;
  }
}
var a = new OB("test");
var b = new Node("test2");

我想做的是在OB之外创建一个新的Node。但我犯了一个错误。解决方法是将Node构造函数从OB中分离出来,但如果我想在其他地方使用"Node",这可能会导致命名冲突。

您的Node函数嵌套在OB函数中。不能从父函数外部调用该函数。你需要这样做:

function OB(a){
    this.a;
}
function Node(b){
    this.b = b;
}
var a = new OB("test");
var b = new Node("test2");

为什么不将Node函数附加到返回到var a的对象上?

function OB(a){
  this.a;
}
OB.prototype.Node = function (b){
  this.b = b;
}
var a = new OB("test");
var b = new a.Node("test2");