如何在javascript中定义包含其他自定义对象的自定义对象?

时间:2013-12-17 11:40:49

标签: javascript object

我想在Javascript中定义一个包含其他自定义对象的对象,例如:

object1 {
    p1 : "",
    p2 : "",
     ...
}

object2 {
    p3 : "",
    p4 :   Array of object1,
   ...
}

怎么做?

1 个答案:

答案 0 :(得分:0)

您可以为object1使用构造函数,并在object2上的p4数组中创建实例。 如果您不想对object1使用构造函数,而是像在示例中那样使用文字对象表示法,则可以使用Object.create()。

object1 = {
  p1: "",
  p2: ""
}
object2 = {
  p3: "",
  p4: [Object.create(object1),Object.create(object1),Object.create(object1)]
}

或....

object2 = {
  p3: "",
  p4: []
}
p4.push(Object.create(object1));
p4.push(Object.create(object1));

但请记住,虽然第一个答案使用构造函数,因此在对象中创建属性作为实例属性,但Object.create()使用原始对象作为派生对象的原型。