如何使用自定义对象创建自定义对象?

时间:2010-10-29 18:10:27

标签: javascript

在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

1 个答案:

答案 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

frontback更改是一个单独的问题,因为在您的示例中没有传递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();
}

You can try that version here