Crie a sua própria função Extend

Publicado por Javier Zambrano Ferreira em 04/06/2011

[ Hits: 5.085 ]

 


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

Programa exemplo em Assembler para Linux

Instalando o WebMod - plugin de Counter-Strike

Squid: Personalizando o arquivo ERR_ACCESS_DENIED / ACESSO NEGADO

Resolvendo erro de TLS no aMSN 0.97b sem fazer downloads

Resolvendo o problema do flash player 10 no Plone

  

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