我想创建一些自定义javascript对象,其中一些属性具有其他对象的属性。我不确定这样做的语法是什么。我的伪代码在下面,我认为我有一个人物对象和一个订单对象。订单对象具有我想要成为person对象类型的属性。这有可能在javascript中,如果是这样,有人可以给我一个基本的例子吗?感谢。
var person {
name: "John",
gender: "M",
age: 3
}
var order {
customer: person, /*the property name is customer but of type person - is this possible?*/
total: 100
}
答案 0 :(得分:3)
考虑构造函数:
function Person( name, gender, age ) {
this.name = name;
this.gender = gender;
this.age = age;
}
function Order( customer, total ) {
this.customer = customer;
this.total = total;
}
用法:
var person1 = new Person( 'John', 'M', 3 );
var order1 = new Order( person1, 100 );
构造函数充当类。您可以通过new
调用它们来创建新实例(人员和订单)。
答案 1 :(得分:1)
你几乎是对的;你需要的只是包含一些'='
var person = {
name: "John",
gender: "M",
age: 3
}
var order = {
customer: person, /*the property name is customer but of type person - is this possible?*/
total: 100
}
答案 2 :(得分:0)
你可以这样做:
var person = {
name: "John",
gender: "M",
age: 3
};
var order = {
customer: person,
total: 100
};
这也传递给JSLint。你错过了'='标志。
答案 3 :(得分:0)
您的代码几乎没问题(缺少=将匿名对象分配给变量):
var person = {
name: "John",
gender: "M",
age: 3
};
var order = {
customer: person, /*the property name is customer but of type person - is this possible?*/
total: 100
};
答案 4 :(得分:0)
当然,那就是它。你的语法有点偏,但只是略有不同。
以下是您的示例:jsfiddle