10/10/2012 Todas as referências a “Classes” para “Objetos” foram atualizadas. Eu estava me referindo aos objetos personalizados como classes. O que em Javascript não é o caso. Javascript não usa classes, como foi apontado. Meu erro! Obrigado pela informação, <a href=” http://coderwall.com/avenger7x”> avenger7x </a>
Portanto, recentemente estou em uma busca para melhorar minha experiência geral com Javascript. O esforço mais recente é construir objetos para meus scripts Javascript. O código abaixo é meu objeto Person “simples” que construí. O objetivo deste objeto é adicionar uma pessoa, descobrir sua idade e pedir-lhe que diga olá.
function Person(p_name, p_year){
this.name = p_name;
this.age = this.getAge(p_year);
}
Esta função simples leva apenas dois parâmetros: Nome e Ano de Nascimento. Você perceberá que neste construtor há outra função chamada getAge. Esta função é adicionada abaixo:
Person.prototype.getAge = function(year){
var dObj = new Date();
var currentYear = dObj.getUTCFullYear();
return currentYear - year;
}
Ao adicionar a função getAge no objeto Person, agora podemos usá-la no escopo do objeto Person. Para declarar um novo objeto Person, simplesmente incluímos o Javascript da pessoa na página e, em seguida, chamamos o construtor.
<script type="text/javascript" src="person.js"></script>
<script type="text/javascript">
var personObj = new Person("Patrick", 1986);
</script>
Isso agora irá configurar um novo objeto Person com o nome de Patrick e uma idade de 26 (a partir desta postagem). Ele descobriu a idade da função setAge que escrevi usando o objeto Javascript Date Object. Uma nota rápida sobre isso, ao passar o ano, não estou passando como uma corda. No entanto, se alguém acidentalmente usou uma string, ela retornaria NaN. Seria uma boa ideia formatar os dados antes de usá-los na função setAge. No entanto, este é um exemplo simples e eu faria isso se desenvolvesse ainda mais este script.
Finalmente, quero que esta “Pessoa” diga Olá e sua idade na minha página da web. Para fazer isso, escrevi outra função dentro do objeto Person chamada sayHello.
Person.prototype.sayHello = function(){
document.write("Hello my name is: " + this.name + "<br />");
}
Em seguida, adicionaria isso ao código da minha página HTML:
<script type="text/javascript">
var personObj = new Person("Patrick", 1986);
personObj.sayHello();
document.write("My age is: " + personObj.age + " years old.");
</script>
Você percebe que, além da função sayHello (), eu também chamei a propriedade age do objeto em um document.write ().
O resultado do script deve produzir algo assim:
Olá, meu nome é: Patrick
Minha idade é: 26 anos.
Portanto, este foi meu exemplo simples de objeto Javascript. Espero que você tenha achado esta informação útil. Ainda estou aprendendo mais sobre isso, então tenho certeza de que há muitas maneiras de melhorar isso, mas acredito que é um ótimo começo.
Obrigado!