0

私は最近、オブジェクト指向の JavaScript を使い始めたので、2 つのオブジェクトを相互に接続する必要が生じました。

このコードが行うことは、会社オブジェクトを作成することです。そして、その company-object からの情報に基づいて、 person という新しいオブジェクトを作成します (これは contact-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();
        });
    })
});

contact 内で、company-object のデータの一部にアクセスする必要があります。現在、私はそれを引数として渡し、それを人物オブジェクトに保存しています。

function person(firstname, lastname, postal, adress){
    this.attempt = 0
    this.firstname = firstname
    this.lastname = lastname
    this.postal = postal
    this.adress = adress
}

しかし、これは悪いアプローチのように感じます。相互にオブジェクトを参照するためのベスト プラクティスは何ですか? 複数の会社オブジェクトと個人オブジェクトを並行して実行しています。

4

2 に答える 2

0

「静的メソッド」のようなものを使用します。

person.fromCompanyContact = function (company) {
  return new person(company.contact.first_name, ...)
}

したがって、コールバックでは次のようになります。

....
var myPerson = person.fromCompanyContact(myCompany.company);
....
于 2013-08-09T11:01:07.957 に答える
0

プロパティをargとして渡すオブジェクトのプロパティを直接参照する方が良いと思います。

のように: this.address = referObj.prop;

于 2013-08-09T11:14:32.073 に答える