Crie a sua própria função Extend

Publicado por Javier Zambrano Ferreira em 04/06/2011

[ Hits: 5.266 ]

 


Crie a sua própria função Extend



Há várias situações em que há necessidade de unir propriedade de dois objetos, essa função faz essa tarefa no Javascript.

Crie a sua própria função Extend

Uma das melhores funções encontrada nos Frameworks Javascript é a extend: jQuery.extend( target, [ object1 ], [ objectN ] ). A função é responsável em unir dois objetos, tendo como resultado um único objeto com propriedades de ambos.

Mas como ela é implementada? Abaixo segue um exemplo de código:

Object.extend = function (destino, fonte) {
   //Navega por todas as propriedades do objeto fonte
   for (propriedade in fonte) {
      //e adiciona cada propriedade no objeto destino
      destino[propriedade] = fonte[propriedade];
   }
  //retorna o objeto modificado
   return destino;
};

O que estamos fazendo no código é adicionar a função extend ao tipo Object por prototype do Javascript, isso é assunto para outro post. A nova função recebe dois objetos literais: destino e fonte. O objeto destino é o objeto que resultará da união de ambos, o objeto fonte terá todas as propriedades copiadas para destino. É importante observa, que propriedades com mesmo nome, por exemplo, destino["idade"] = 14 e fonte["idade"] = 20 serão sobrescrito, ou seja, destino["idade"] passará a ter o valor 20.

Vamos simplificar melhor o seu uso:

  var livro1 = {
   'editora' : 'xxxxx',
   'isbn' : '9999999'
  }

var livro2 = {
  'titulo': 'Era uma vez',
'volume':  '1'
}

//Objeto resultante da união do livro1 e livro2
var livro = Object.extend(livro1, livro2);

//Livro terá as seguintes propriedades:
livro = {
    'editora' : 'xxxxx',
   'isbn' : '9999999',
   titulo': 'Era uma vez',
  'volume':  '1'
}

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Corrigindo a opção de Delay Pools e autenticação Ldap do Squid 2.7.8_1 no PfSense 1.2.3-Release

Bloqueando PortScanners com IPTABLES

VPN em ISA Server 2000 com Ubuntu 9.10 64 bits

Trinity Desktop - Tenha o fork do KDE 3 no nosso mundo atual!

Squid - Liberando apenas o Outlook

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts