logo javascript

Aprenda javascript com facilidade do zero

Prof. Ivan Lourenço Gomes

Funções

As funções servem basicamente para guardar um bloco de código, que é uma sequência de comandos que poderá ser executada múltiplas vezes. Guardar essa sequência de comandos em uma função significa que, além de organizar o código, vamos evitar ter que escrever os mesmos comandos repetidas vezes.

Vamos começar com um exemplo o mais simples possível.

                    
    
    // Criação da função

    function soma_numeros() {
        var x = 5;
        var y = 2;
        var soma  = x + y;
        console.log(soma);   
    }

    // Ao criar a função, nada acontece ainda. Precisamos invocá-la para executar os comandos:
    
    soma_numeros(); // O console mostrará 7

                    
                

Vejamos alguns pontos importantes sobre o exemplo acima:

Argumentos da função

Os argumentos da função são como se fossem variáveis, que podemos usar dentro da função. No exemplo acima a função é estática, ela sempre vai somar 5 + 2. Seria mais interessante que ela pudesse somar números diferentes, algo que podemos fazer facilmente com argumentos.

                    

    /* Criaremos dois argumentos na hora de criar a função, que funcionarão como variáveis dentro da função. 
    Podemos criar quantos argumentos quisermos, basta separá-los por vírgula. */

    function soma_args(num1,num2) {
        var soma  = num1 + num2;
        console.log(soma); 
    }

    /* Agora ao invocar a função, temos necessariamente que atribuir valores para todos os argumentos, 
    na mesma ordem em que eles foram criados: */

    soma_args(10,25); // O console mostrará 35

    soma_args(1000,375); // O console mostrará 1375

    soma_args(-2,47); // O console mostrará 45



                    
                

Os argumentos da função não precisam ser valores brutos, eles podem ser variáveis já criadas anteriormente. Vejamos no exemplo abaixo uma função que calcula o IMC (índice de massa corporal) de uma pessoa, com valores guardados em variáveis.

                    

    // a fórmula do IMC é: peso em kg / (altura em metros x altura em metros)

    function calc_imc(peso,altura) {
        var imc = peso / (altura * altura);
        console.log(imc);
    }

    // agora podemos rodar a função com os valores que quisermos e assim clacular o IMC:

    var meu_peso = 72;
    var minha_altura = 1.70;

    calc_imc(meu_peso,minha_altura);  // O console mostrará 24.913494809688583

                    
                

Tome bastante cuidado para não confundir os argumentos da função com variáveis. Os argumentos da função só funcionam dentro da função e eles não tem nenhum valor na hora da criação, apenas quando a função é invocada. Inclusive é uma boa prática evitar usar nomes iguais. No exemplo acima poderíamos ter usado os nomes peso e altura para as variáveis, não haveria nenhum problema, mas é preferível não fazer isso, para evitar qualquer confusão entre argumentos e variáveis.

A função também poderia se chamar imc, que é o mesmo nome de uma variável usada dentro dela, mas é preferível não fazer isso.

O comando return

No exemplo do IMC acima, a própria função calcula o IMC e solta-o no console. Se nós quisermos soltar o IMC dentro de algum elemento HTML teremos que alterar a função. Por isso é interessante que, ao invés de realizar algum comando dentro da função, que a função apenas retorne um resultado, com o qual poderemos trabalhar fora da função conforme a situação exigir.

                    

    function valor_imc(peso,altura) {
        var imc = peso / (altura * altura);
        return imc;
    }

    // agora podemos guardar o valor retornado pela função numa variável e usá-la como quisermos.

    var meu_peso = 72;
    var minha_altura = 1.70;

    var meu_imc = valor_imc(meu_peso,minha_altura);

    console.log(meu_imc);

    /* Agora esta variável meu_imc poderia também ser colocada num elemento HTML ou ser usada em outros cálculos, 
    como por exemplo numa função que dirá se o IMC calculado está dentro ou fora dos valores normais.

                    
                

Vamos agora usar as informações que estão nas caixas "peso" e "altura", passá-las como argumento da função, e soltar o IMC na caixa "imc".

80
Peso
1.77
Altura
resultado
IMC

Índice de Aulas