JavaScript/Objetos
Aspeto
Definição de Objeto
[editar | editar código-fonte]Podem ser declarados com propriedades e valores delimitados por chaves {}
, ou através de funções.
Exemplo:
var pessoa = {
nome: "Sérgio",
altura: 1.72,
nascimento: new Date(1969,1,4)
};
Ou então:
function objetoPessoa() {
this.nome = "Sérgio";
this.altura = 1.72;
this.nascimento = new Date(1969,1,4)
}
var pessoa = new objetoPessoa();
Observações: O parâmetro de mês na criação do objeto Date inicia com 0; ou seja, 1 significa Fevereiro.
Para acessar qualquer atributo do objeto, basta informar o nome do objeto seguido por seu atributo após um ponto (.
).
Exemplo:
alert(pessoa.nome);
alert(pessoa.altura);
alert(pessoa.nascimento);
Também podem-se atribuir métodos a objetos, da seguinte forma:
function mostrePessoa() {
alert(this.nome + "\n" + this.altura + "\n" + this.nascimento);
}
var pessoa = {
nome: "Sergio",
altura: 1.72,
nascimento: new Date(1969,1,4),
mostre: mostrePessoa
};
pessoa.mostre();
pessoa.nome = "eduardo";
pessoa.altura = 1.78;
pessoa.nascimento = new Date(1975, 6, 25);
pessoa.mostre();
Métodos também podem ser atribuídos diretamente no objeto, sem a necessidade de especificar primeiro a função.
var pessoa = {
nome: "Sergio",
altura: 1.72,
nascimento: new Date(1969,1,4),
mostre: function(){
alert(this.nome + "\n" + this.altura + "\n" + this.nascimento);
}
};
pessoa.mostre();
pessoa.nome = "eduardo";
pessoa.altura = 1.78;
pessoa.nascimento = new Date(1975, 6, 25);
pessoa.mostre();
Propriedades
[editar | editar código-fonte]Pode-se acrescentar métodos especiais para tratamento das operações de get e de set, exemplo:
var conta={
valor:0,
set deposito(x) {
this.valor += x;
},
set saque(x) {
this.valor -= x;
},
get provisao() {
return this.valor/4;
}
};
conta.deposito = 100;
conta.saque = 50;
alert("provisão = " + conta.provisao + "\n saldo = " + conta.valor);