Javascript 在对象之间创建链接
我正在学习JavaScript,我创建了三个不同的对象,它们具有一些属性:Person、House和CarJavascript 在对象之间创建链接,javascript,Javascript,我正在学习JavaScript,我创建了三个不同的对象,它们具有一些属性:Person、House和Car let House = function(city, postalCode, street, streetNumber){ this.city = city; this.postalCode = postalCode; this.street = street; this.streetNumber = streetNumber; return { getA
let House = function(city, postalCode, street, streetNumber){
this.city = city;
this.postalCode = postalCode;
this.street = street;
this.streetNumber = streetNumber;
return {
getAddress: function() {
return {
'address': {
'city': city,
'postalCode': postalCode,
'street': street,
'streetNumber': streetNumber
}
};
}
};
};
let Person = function(name, surname, yearOfBirth, monthOfBirth, dayOfBirth, bornCity, employment){
this.name = name;
this.surname = surname;
this.yearOfBirth = yearOfBirth;
this.monthOfBirth = monthOfBirth;
this.dayOfBirth = dayOfBirth;
this.bornCity = bornCity;
this.employment = employment;
return {
getFullPerson: function() {
return {
'personalInformation': {
'name': name,
'surname': surname,
'dateOfBirth': {
'year': yearOfBirth,
'month': monthOfBirth,
'day': dayOfBirth
},
'bornCity': bornCity
},
'employment': employment,
'home': getAddress(), // pseudocode
'car': getCar() // pseudocode
};
}
};
};
我想在这些对象之间创建一个链接,因为我需要调用,例如,住在房子里的人和viceversa;但我不清楚如何才能做到这一点。正如我看到的,您希望在person对象中引用一个人的家和车。因此,要使其正常工作,您需要做的唯一一件事就是将房屋和汽车物体传递给此人:
let Person=函数(
名称
姓,
出生年,
蒙特霍夫出生,
出生日,
博恩西蒂,
就业,,
家,
汽车
) {
this.name=name
this.姓氏
this.yearOfBirth=出生年份
this.monthOfBirth=monthOfBirth
this.dayOfBirth=出生日
this.bornCity=bornCity
这就是就业
这个家
这辆车
返回{
getFullPerson:函数(){
返回{
个人资料:{
姓名:姓名,,
姓:姓,,
出生日期:{
年份:出生年份,
月份:出生月,
日期:出生日期,
},
博恩西蒂:博恩西蒂,
},
就业:就业,,
home:home.getAddress(),
car:car.getCar(),
}
},
}
}
这里有一个方法:
let House=功能(城市、邮政编码、街道、街道编号){
this.city=城市;
this.postalCode=postalCode;
这条街;
this.streetNumber=街道编号;
返回{
getAddress:function(){
返回{
“地址”:{
“城市”:城市,
“postalCode”:postalCode,
"街":街,,
“街道编号”:街道编号
}
};
}
};
};
let Person=功能(姓名、姓氏、出生年份、出生月份、出生日期、出生地、就业、房屋、汽车){
this.name=名称;
this.姓氏=姓氏;
this.yearOfBirth=出生年份;
this.monthOfBirth=monthOfBirth;
this.dayOfBirth=出生日;
this.bornCity=bornCity;
就业=就业;
这房子;
这辆车;
返回{
getFullPerson:function(){
返回{
“个人信息”:{
“名称”:名称,
“姓”:姓,
“出生日期”:{
“年”:出生之年,
“月”:蒙托夫出生,
“日”:出生日
},
“bornCity”:bornCity
},
"就业":就业,,
“home”:(house?house.getAddress():null),//伪代码
'car':(car?car.getCar():null)//伪代码
};
}
};
};
let House 1=新房子(“城市”、“邮政编码”、“街道”、“街道号”);
let person1=新人('Person','1',2020,1,1,'bornCity','employment',null,null);
let person2=新人(“人”、“2”、2020、1、1、“出生地”、“就业”,第1家,空);
log(person1.getFullPerson());
log(person2.getFullPerson())
您可以在人员
内部拥有属性房屋
,或者在这两者之间拥有一把公用钥匙| |谢谢!一个问题:这个(house?house.getAddress():null)
是一个if-else
语句。对吗?听起来是这样的:如果有house-get-house,else-null,那完全正确,这只是一种较短的方法,称为a。如果个人
对象没有与之关联的房屋
/汽车
,则可以避免出现错误。