Casting objetos simples para instâncias de função ("classes") em javascript

function Person() {
      var self = this;

      self.personName="";
      self.animals=[];
}

function Animal(){
     var self=this;

     self.animalName="";
     self.run=function(meters){
         .....
     }
}

Resposta do servidor:

 [{personName:John,animals:[{animalName:cheetah},{animalName:giraffe}]} , {personName:Smith,animals:[{animalName:cat},{animalName:dog}]} ]

Estou recebendo o array Person do servidor. Eu quero lançar matriz de pessoa genérica para a matriz de pessoa digitada. Então eu posso usar

 persons[0].Animals[2].Run();

Eu fundei o Javascript

 Object.create(Person,person1);

Mas eu quero uma versão cross-browser com suporte a array

  ObjectArray.create(Person,persons);

ou

 Object.create(Person[],persons);

questionAnswers(4)

yourAnswerToTheQuestion