我想在Javascript中定义一个包含其他自定义对象的对象,例如:
object1 {
p1 : "",
p2 : "",
...
}
object2 {
p3 : "",
p4 : Array of object1,
...
}
怎么做?
答案 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()使用原始对象作为派生对象的原型。