Javascript 在对象之间创建链接

Javascript 在对象之间创建链接,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

我正在学习JavaScript,我创建了三个不同的对象,它们具有一些属性:Person、House和Car

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。如果
个人
对象没有与之关联的
房屋
/
汽车
,则可以避免出现错误。