•  
     

Passando Objetos para Funções - JavaScript

Além de fazer arrays de Objetos, também podemos usar objetos como parâmetros para funções. Dessa maneira, essas funções podem tirar vantagem dos métodos e propriedades que um certo tipo de objeto oferece.

Para ver um exemplo, olhe para o painel de controle. Além de nosso construtor Person, introduzimos uma nova função, ageDifference (linha 9). Essa função toma dois objetos Person como parâmetros, e retorna a diferença de idade entre as duas pessoas.

Observe que estaríamos com problemas se tentássemos chamar ageDifference e inseríssemos strings ao invés de pessoas, porque strings não têm uma propriedade age. Mas como sabemos, a partir de de nosso construtor, que todos os objetos Person terão uma propriedade age, podemos inserir qualquer Person em ageDifference. Devemos ter cuidado para não inserir nada além de objetos Person em ageDifference.

Código: Selecionar todos

function Person(name, age){
    this.name = name;
    this.age = age;
}
var ageDifference = function(person1, person2){
    return person1.age - person2.age;
}

var alice = new Person("Alice", 30);
var billy = new Person("Billy", 25);

var diff = ageDifference(alice,billy);
console.log(diff);


5