Em Javascript o objeto "this" pode assumir valores distintos de acordo com o local onde é invocado, e agora veremos alguns exemplos.
Métodos de objetos
O "this" aparece em métodos de objetos como uma referencia ao objeto principal, ou seja, ele representa o próprio objeto que possui o método:
var pessoa = {
nome: 'Teresa',
recuperarNome: function() { return this.nome; }
};
No exemplo acima "this" representa o objeto "pessoa", logo possui acesso a propriedade "nome".
Em funções
Em funções o objeto "this" pode ter dois valores, quando em uma função que não pertence a um objeto "this" retorna o objeto global, que no caso no browser é o "window", já o outro valor é a referencia ao objeto instanciado:
Função que não pertence a um objeto
function funcaoTeste() {
return this;
}
No exemplo acima temos como resultado da função o objeto global do browser, "window".
Referencia ao objeto instanciado
function FuncaoConstrutora() {
this.nome = 'Teresa';
this.idade = 1;
}
var novaPessoa = new FuncaoConstrutora();
novaPessoa.nome;
No exemplo acima temos uma função construtora, que, quando chamada com a palavra reservada "new" cria um novo objeto, onde as propriedades "this.nome" e "this.idade" dizem respeito apenas a nova variável "novaPessoa", não podendo ser acessada de outra forma. Vale ressaltar que se "FuncaoConstrutora" for executada como uma função normal, sem o "new", teremos duas variáveis no escopo global da aplicação.
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.