JS-0205 - JavaScript Completo ES6 - Funções

JS-0205 - JavaScript Completo ES6 - Funções
Publicado em 18/12/2020 22h07
Visualizações: 531

Os blocos de construção fundamentais

Funções, um das partes mais importante em JavaScript. São blocos de códigos que podem ser executados e reutilizados. Os valores podem ser passados para estas funções e retornados processados ou não. Ex:

function areaRetangulo (base, altura) {
     return base * altura;
}

areaRetangulo(4, 5) // 20
areaRetangulo(5, 3) // 15
areaRetangulo(2, 1) // 2

O que se encontra dentro das chaves é a função em si. O return é quem devolve o valor da função, caso haja algum retorno, pois há funções que não retornam valores (chamadas de função void) e o retorno é definido como undefined. Mesmo que não haja retorno, a função não deixa de ser executada.

A chamada da função é realizada declarando o nome da função e passando os argumentos ou não, entre parenteses. Ao criar uma função podem ser definidos parâmetros necessários para a sua execução. Não há limites quanto a quantidade de argumentos, mas se deve avaliar a performance ambiental. O parênteses executa a função e a função será executada somente quando declara, invocando-a pelo nome e os parênteses com seus argumentos caso necessários.

Os argumentos também podem ser funções. Estas funções são chamadas de callback e geralmente ocorrem após algum evento. Ex:

btn.addEventListener('click', function() {
    alert('Evento de clique');
});
// A função possui dois argumentos
// Primeiro é a string 'click'
// Segundo é a função alert

Este tipo de função possui dois argumentos, o evento, e a função que será executada na ocorrência do evento que neste caso foi o clique. Ainda há uma observção neste tipo de caso. A função passada como argumento não tem nome definido, foi passado apenas function. Este tipo de função, sem nome, é chamada de função anônima e geralmente são escritas da seguinte forma: function() {} ou () => {}.

Funções diferentes devem ter nomes diferentes, se não elas serão sobrescritas.

Uma função pode retornar qualquer tipo de dado e até outras funções. O return quando executado encerra o processo de execução do bloco da função ao qual ele retorna. Caso haja algo depois do return dentro de uma função, ele não será executado.

Há algo que influencia diretamente a visibilidade e uso dos argumentos e parâmetros de uma função, o escopo. Variáveis e funções definidas dentro de um bloco (entre as chaves) de uma função, não são visíveis fora dele. Ex:


function precisoProvar(pratosProvados) {
    var totalPratos = 99999;
    return "Ainda faltam " + totalPratos - pratosProvados + " pratos para degustar!"
}
console.log(totalPratos); // erro, totalPratos não definido

Contudo, as funções conseguem acessar variáveis que foram criadas no contexto pai. Este tipo de escopo é chamado de Escopo Léxico.

Assim como ocorre com variáveis, o JS move todas as funções declaradas para a memória, executando o Hoisting, dentro do seu escopo, podendo ser local (quando declaradas dentro de uma função por exemplo), ou global.

Este conteúdo ainda é uma introdução ás funções em JavaScript. Posteriormente o conteúdo será ampliado para recursos avançados. Antes disso, ainda tem muito conteúdo a ser abordo.

Na sequência, será abordado Objetos, "O Tudo" em JS e você entenderá o porquê!

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Sim, eu aceito. Não, eu não aceito.