Funções JavaScript

Uma função JavaScript é um bloco de código projetado para realizar uma tarefa específica.

Uma função JavaScript é executada quando "algo" a invoca (chama).

Exemplo:


    function myFunction(p1, p2) {
      return p1 * p2;   // The function returns the product of p1 and p2
    }
    

Sintaxe da função JavaScript

Uma função JavaScript é definida com a function palavra - chave, seguida por um nome , seguida por parênteses ().

Os nomes das funções podem conter letras, dígitos, sublinhados e cifrões (mesmas regras das variáveis).

Os parênteses podem incluir nomes de parâmetros separados por vírgulas:
( parâmetro1, parâmetro2, ... )

O código a ser executado, pela função, é colocado entre chaves: {}


    function name(parameter1, parameter2, parameter3) {
      // code to be executed
    }
    

Os parâmetros da função são listados entre parênteses () na definição da função.

Os argumentos da função são os valores recebidos pela função quando ela é chamada.

Dentro da função, os argumentos (os parâmetros) se comportam como variáveis locais.

Uma Função é quase igual a um Procedimento ou uma Sub-rotina, em outras linguagens de programação.

Invocação de Função

O código dentro da função será executado quando "algo" invocar (chamar) a função:

• Quando ocorre um evento (quando um usuário clica em um botão)

• Quando é invocado (chamado) a partir do código JavaScript

• Automaticamente (auto-invocado)

Você aprenderá muito mais sobre a invocação de função posteriormente neste tutorial.

Retorno de Função

Quando o JavaScript atinge uma returnin strução, a função para de ser executada.

Se a função foi chamada a partir de uma instrução, o JavaScript "retornará" para executar o código após a instrução de chamada.

As funções geralmente calculam um valor de retorno . O valor de retorno é "retornado" de volta ao "chamador":

Exemplo:

Calcule o produto de dois números e retorne o resultado:


    let x = myFunction(4, 3);   // Function is called, return value will end up in x

    function myFunction(a, b) {
      return a * b;             // Function returns the product of a and b
    }
    

O resultado em x será:


    12
    

Por que funções?

Você pode reutilizar o código: defina o código uma vez e use-o várias vezes.

Você pode usar o mesmo código muitas vezes com argumentos diferentes, para produzir resultados diferentes.

Exemplo:

Converter Fahrenheit para Celsius:


    function toCelsius(fahrenheit) {
      return (5/9) * (fahrenheit-32);
    }
    document.getElementById("demo").innerHTML = toCelsius(77);
    

O operador () invoca a função

Usando o exemplo acima, toCelsius refere-se ao objeto de função e toCelsius() refere-se ao resultado da função.

Acessar uma função sem () retornará o objeto de função em vez do resultado da função.

Exemplo:


    function toCelsius(fahrenheit) {
      return (5/9) * (fahrenheit-32);
    }
    document.getElementById("demo").innerHTML = toCelsius;
    

Funções usadas como valores variáveis

As funções podem ser usadas da mesma maneira que você usa variáveis, em todos os tipos de fórmulas, atribuições e cálculos.

Exemplo:

Em vez de usar uma variável para armazenar o valor de retorno de uma função:


    let x = toCelsius(77);
    let text = "The temperature is " + x + " Celsius";
    

Você pode usar a função diretamente, como um valor de variável:


    let text = "The temperature is " + toCelsius(77) + " Celsius";
    

Local Variables

Variáveis declaradas em uma função JavaScript tornam-se LOCAL para a função.

Variáveis locais só podem ser acessadas de dentro da função.

Exemplo:


    // code here can NOT use carName

    function myFunction() {
      let carName = "Volvo";
      // code here CAN use carName
    }

    // code here can NOT use carName
    

Como as variáveis locais são reconhecidas apenas dentro de suas funções, variáveis com o mesmo nome podem ser usadas em funções diferentes.

Variáveis locais são criadas quando uma função é iniciada e excluídas quando a função é concluída.