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

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

问题描述:

在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 

frontback变化是一个单独的问题,因为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(); 
} 

You can try that version here

+0

谢谢。我也尝试过,但由于我试图设置正面和背面属性,所以它没有进入警报状态。我可以问什么“this.front = values && values.front ||”default“;”用英语吗? – etoisarobot 2010-10-29 18:18:43

+0

@TooFat - 它试图从它获取一个属性之前检查'values'是不是falsy(在这种情况下是'undefined'),如果它是假的,它会立即进入OR('||')并抓取默认。 – 2010-10-29 18:20:27