我最近开始使用面向对象的javascript,并且需要将两个对象相互连接。
这段代码的作用是创建一个公司对象。并根据该公司对象的信息创建一个名为person的新对象(它是一个联系人)。
search.parseresults(function(announcementID){
//query every single page
var myCompany = new company(announcementID);
myCompany.requestPage(function(){
//on response parse the data.
myCompany.parsedata()
var myPerson = new person(myCompany.company.contact.firstname, myCompany.company.contact.lastname, myCompany.company.contact.postal, myCompany.company.contact.adress )
myPerson.getPhone(function(){
//console.log(myPerson)
//myPerson.save();
});
})
});
在联系人内部,我需要访问公司对象中的一些数据。目前我将它作为参数传递并将其保存到person-object。
function person(firstname, lastname, postal, adress){
this.attempt = 0
this.firstname = firstname
this.lastname = lastname
this.postal = postal
this.adress = adress
}
但这感觉就像一个糟糕的方法。从彼此中引用对象的最佳实践是什么?我有几个公司和人物对象在并行运行。
答案 0 :(得分:0)
我会使用类似“静态方法”的东西:
person.fromCompanyContact = function (company) {
return new person(company.contact.first_name, ...)
}
所以在回调中它将是:
....
var myPerson = person.fromCompanyContact(myCompany.company);
....
答案 1 :(得分:0)
我认为最好直接引用对象的属性,将属性传递为arg。
像: this.address = referObj.prop;