Curso de Javascript (parte 6)

Share

Já faz muito tempo desde o último post dessa série sobre Javascript, mas eis que a continuação está aqui! Relembrando o último post, vimos um pouco da sintaxe de Javascript para criação de objetos e arrays. Hoje vamos ver um pouco de funções e o que é possível fazer com elas.

Para começar, abra novamente o console do seu navegador e vamos praticar:

// as dicas continuam as mesmas do último post, e eu acrescento essa:
// para criar uma nova linha no Chrome e no Firefox (menos no Firebug)
// você pode usar [SHIFT] + [ENTER]

// para declarar uma função:
function nome_da_funcao(param1, param2){
    // aqui você faz alguma coisa útil
    alert(param1);  // exibe o primeiro parâmetro
    alert(param2);  // exibe o segundo parâmetro
}

// para executar a função:
nome_da_funcao('primeiro', 2);

// não é necessário passar todos os parâmetros, o seguinte é válido:
nome_da_funcao(1);  // o segundo valor será undefined
nome_da_funcao();   // os dois valores serão undefined

Outro detalhe interessante em Javascript: uma variável pode armazenar uma função, ou seja:

var funcao = function() {
    alert("Essa função não faz nada");
}

// executando:
funcao();
funcao(1286, 'bla bla bla'); // parâmetros a mais? nada contra...

Isso cria uma nova possibilidade: funções dentro de objetos, ou seja, métodos (lembrou de programação orientada a objetos? Então chegamos ao ponto interessante!).

Embora Javascript seja considerada por alguns “programadores” como uma linguagem sem orientação a objetos, Javascript utiliza sim alguns conceitos desse método de programação: classes (protótipos), atributos (propriedades), métodos (funções), herança, sobrecarga de métodos, public, private… alguns desses itens podem não ser tão fáceis de implementar como seria em C++, PHP, Java, etc., outros podem até ser mais simples!

// construtor para uma "classe" Pessoa:
function Pessoa() {
    // definindo as propriedades para o objeto e
    // inicializando com valores padrão:
    this.nome  = "";
    this.idade = 0;

    // criando métodos
    this.setNome = function(nome){
        this.nome = nome;
    };

    this.getIdade = function(){
        return this.idade;
    };
}

// usando essa classe:
var joao = new Pessoa();
joao.setNome("João");

// não é preciso utilizar métodos para atualizar as propriedades:
joao.idade = 33;
joao.nome += " da Silva"; // joao.nome = "João da Silva"

// o construtor também pode receber parâmetros, para facilitar o trabalho
function Carro(marca) {
    this.marca  = marca;
    this.modelo = "";
    this.ano    = undefined;
}

var ferrari = new Carro("Ferrari");
// ferrari.marca == "Ferrari";

Essas características vamos ver com mais detalhes nos próximos posts. Essa foi apenas uma introdução para mostrar uma ideia geral do que é possível fazer com Javascript, que não deixa nada a desejar a outras linguagens em questão de Orientação a Objetos.

Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.