在javascript中有关系的对象?

时间:2013-08-09 10:49:40

标签: javascript

我最近开始使用面向对象的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
}

但这感觉就像一个糟糕的方法。从彼此中引用对象的最佳实践是什么?我有几个公司和人物对象在并行运行。

2 个答案:

答案 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;