Atividades
Lista de Exercícios: Funções em JavaScript
Nível Básico (Questões 1-8)
O que é uma função em JavaScript e quais são os três principais benefícios de utilizá-las?
No código
function calcularMedia(nota1, nota2) { return (nota1 + nota2) / 2; }, identifique o que é:A palavra-chave
O nome da função
Os parâmetros
O valor de retorno
Qual é a diferença fundamental entre "parâmetros" e "argumentos" em uma função?
Crie uma função anônima, armazene-a em uma variável chamada
despedidae faça com que ela imprima "Até logo!" no console.Qual é a principal vantagem das "Arrow Functions" (Funções de Seta) em comparação com a declaração tradicional de função?
Converta a seguinte função para uma "Arrow Function" de uma única linha:
function quadrado(n) { return n * n; }Uma função precisa obrigatoriamente ter uma instrução
return? Explique a diferença entre uma função com e semreturn.Escreva uma função chamada
boasVindasque recebe umnomecomo argumento e imprime no console a mensagem: "Bem-vindo(a), [nome]! 😊".
Nível Intermediário (Questões 9-18)
Explique o que é a "pilha de chamadas" (call stack) e como ela funciona quando uma função é invocada. Dica: Pense em uma pilha de pratos.
É apresentado três formas de criar uma função: declaração tradicional, expressão de função e arrow function. Qual delas sofre "hoisting" e o que isso significa na prática?
Qual será o resultado do código abaixo e por quê?
De acordo com as convenções de nomeação, qual dos seguintes nomes é o mais adequado para uma função que verifica se um usuário está logado:
check,logado,verificarLoginoufuncao_de_login? Justifique.O que a função a seguir retornará ao ser chamada com
calcular(10, 5)e por que esse é considerado um erro comum?O que é uma IIFE (Immediately Invoked Function Expression) e qual é uma de suas principais utilidades?
O que acontece se você chamar a função
soma(5, 10, 15)abaixo? E se você chamarsoma(5)?Como você pode modificar a função
saudacaopara que, ao ser chamada sem argumentos, ela imprima "Olá, visitante!" em vez de "Olá, undefined"?Explique o que é uma "função de ordem superior" (higher-order function) e dê um exemplo.
Qual será o valor da variável
resultadono final deste código e por quê?
Nível Avançado (Questões 19-30)
Explique o conceito de "Closure" (fechamento) com base no exemplo da função
criarContadorfornecido neste material.O que a seguinte função, que utiliza o parâmetro "rest" (
...), retornará ao ser chamada comsomarTudo(10, 20, 30, 40)?Qual é a diferença prática entre
setTimeoutesetInterval?No contexto de funções, o que é um "callback"? Crie uma função simples chamada
processarque recebe um número e um callback, e executa o callback passando o dobro desse número como argumento.O que é uma função recursiva? Qual é o elemento essencial que toda função recursiva deve ter para evitar um "stack overflow" (estouro de pilha)?
Por que o uso do
Function constructor(new Function(...)) é geralmente desaconselhado?O que o objeto
argumentsrepresenta dentro de uma função? Por que o parâmetro "rest" (...) é considerado uma alternativa mais moderna?Analise o código abaixo. O que acontecerá quando a linha
soma()for executada? Explique o erro.Por que a primeira chamada de
mostrarMensagem()funciona, mas a segunda gera um erro?Desafio de Código 1: Crie a função
avaliarAlunoproposta neste material, que recebe duas notas e retorna "Aprovado", "Recuperação" ou "Reprovado" com base na média.Desafio de Código 2: Crie a função
calcularNotasque usa o parâmetro "rest" para aceitar um número indefinido de notas e retornar a média delas.Desafio de Código 3: Crie a função avançada
repetir, que recebe uma função de callback e um númeron, e executa o callbacknvezes.
Atualizado

