在Javascript中,我如何创建具有属性的自定义对象,这是另一个自定义对象。 例如。
function Product() {
this.prop1 = 1;
this.prop2 = 2;
}
function Work(values) {
this.front = values.front || "default";
this.back = values.back || "default";
this.product = Product;
}
var w = new Work();
alert(w.product.prop1); //no worky
答案 0 :(得分:3)
您需要创建Product
的实例,如下所示:
function Product() {
this.prop1 = 1;
this.prop2 = 2;
}
function Work(values) {
this.front = values && values.front || "default";
this.back = values && values.back || "default";
this.product = new Product();
}
var w = new Work();
alert(w.product.prop1); //1
front
和back
更改是一个单独的问题,因为在您的示例中没有传递values
,您会收到undefined
错误。 You can test the result here
这是我个人用来定义这些默认值的替代方法:
function Work(values) {
values = values || { front: "default", back: "default" };
this.front = values.front;
this.back = values.back;
this.product = new Product();
}