如何使用自定义对象创建自定义对象?
问题描述:
在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
答
您需要创建的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
没有被通过,在你的榜样,你” d出现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();
}
谢谢。我也尝试过,但由于我试图设置正面和背面属性,所以它没有进入警报状态。我可以问什么“this.front = values && values.front ||”default“;”用英语吗? – etoisarobot 2010-10-29 18:18:43
@TooFat - 它试图从它获取一个属性之前检查'values'是不是falsy(在这种情况下是'undefined'),如果它是假的,它会立即进入OR('||')并抓取默认。 – 2010-10-29 18:20:27