⚡ Funções e Eventos

Funções, Eventos e Manipulação do DOM

Parte 3 de 4 - Funções e Interatividade

🔧 7. Funções em JavaScript

🎯 Objetivo: Dominar a criação e uso de funções em JavaScript, incluindo parâmetros, valores de retorno, escopo e diferentes formas de declaração.

7.1 Declaração de Funções

Funções são blocos de código reutilizáveis que executam uma tarefa específica quando chamados.

function saudar(nome) {
  return "Olá, " + nome + "!";
}

// Chamando a função
let mensagem = saudar("Ana");
console.log(mensagem); // "Olá, Ana!"
Criador de Funções
Configure e teste sua função personalizada...

7.2 Parâmetros e Argumentos

Parâmetros são variáveis definidas na função; argumentos são os valores passados quando a função é chamada.

function calcular(a, b, operacao) {
  switch(operacao) {
    case 'soma':
      return a + b;
    case 'multiplicacao':
      return a * b;
    default:
      return 'Operação inválida';
  }
}

console.log(calcular(5, 3, 'soma')); // 8

7.3 Valores de Retorno

A palavra-chave return especifica o valor que a função deve devolver quando é chamada.

function ehPar(numero) {
  return numero % 2 === 0;
}

if (ehPar(4)) {
  console.log("O número é par!");}
🧮 Calculadora de Funções
Teste várias funções matemáticas...

7.4 Escopo de Variáveis

Escopo local: variáveis declaradas dentro de uma função só existem dentro dela.

function exemploEscopo() {
  let variavelLocal = "Só existe aqui";
  console.log(variavelLocal); // Funciona
}

exemploEscopo();
// console.log(variavelLocal); // Erro!

7.5 Funções Anônimas e Arrow Functions

7.5.1 Função Anônima

let somar = function(a, b) {
  return a + b;
};

7.5.2 Arrow Function (ES6)

let somar = (a, b) => a + b;

let quadrado = x => x * x;

let saudar = () => "Olá mundo!";
💡 Arrow Functions: São mais concisas e não alteram o contexto do this. Ideais para callbacks e funções simples.
🏹 Comparando Tipos de Função
Veja as diferenças entre os tipos de função...

🎪 8. Eventos em JavaScript

🎯 Objetivo: Aprender a tornar páginas web interativas através do tratamento de eventos do usuário como cliques, teclas e movimentos do mouse.

8.1 O que são Eventos?

Eventos são ações que acontecem no navegador: cliques, teclas pressionadas, movimento do mouse, carregamento da página, etc.

// Evento de clique
document.getElementById("botao").onclick = function() {
  alert("Botão clicado!");
};

8.2 addEventListener()

A forma moderna e recomendada de tratar eventos é usando addEventListener().

document.getElementById("botao").addEventListener("click", function() {
  console.log("Evento tratado!");
});
Evento Quando ocorre Exemplo de uso
click Clique do mouse Botões, links
keydown Tecla pressionada Formulários, jogos
mouseover Mouse passa sobre elemento Tooltips, efeitos hover
load Página terminou de carregar Inicialização de scripts
submit Formulário enviado Validação de dados
🎯 Central de Eventos
Interaja com os elementos acima para ver os eventos...

8.3 Objeto Event

Funções de evento recebem um objeto event com informações sobre o que aconteceu.

document.addEventListener("click", function(evento) {
  console.log("Clicou em:", evento.target);
  console.log("Posição X:", evento.clientX);
  console.log("Posição Y:", evento.clientY);
});
🎯 Rastreador de Mouse
Mova o mouse aqui!
Informações do mouse aparecerão aqui...

8.4 Prevenção de Comportamento Padrão

Use preventDefault() para impedir o comportamento padrão de um evento.

document.getElementById("link").addEventListener("click", function(e) {
  e.preventDefault(); // Impede navegação
  console.log("Link clicado, mas não navegou");
});

📄 9. Objeto Document (DOM)

🎯 Objetivo: Dominar a manipulação do Document Object Model (DOM) para alterar dinamicamente o conteúdo, estrutura e estilo de páginas web.

9.1 O que é o DOM?

O Document Object Model (DOM) é uma representação em árvore de todos os elementos HTML da página, permitindo que o JavaScript os manipule.

// Acessando elementos
let titulo = document.getElementById("titulo");
let paragrafos = document.getElementsByTagName("p");
let botoes = document.querySelectorAll(".botao");

9.2 Seletores do DOM

Método Descrição Retorna
getElementById() Seleciona por ID Um elemento
getElementsByClassName() Seleciona por classe Lista de elementos
querySelector() Seleciona por seletor CSS Primeiro elemento
querySelectorAll() Seleciona todos por seletor CSS Lista de elementos

9.3 Manipulação de Conteúdo

let elemento = document.getElementById("texto");

// Alterar texto
elemento.textContent = "Novo texto";
elemento.innerHTML = "<strong>Texto em negrito</strong>";

// Alterar atributos
elemento.setAttribute("class", "destaque");
elemento.style.color = "red";
🎨 Laboratório de DOM
Este é o elemento que será alterado!

9.4 Criação e Remoção de Elementos

// Criar novo elemento
let novoParagrafo = document.createElement("p");
novoParagrafo.textContent = "Novo parágrafo";

// Adicionar ao DOM
document.body.appendChild(novoParagrafo);

// Remover elemento
let elemento = document.getElementById("remover");
elemento.parentNode.removeChild(elemento);
🏗️ Construtor de Elementos
Elementos criados aparecerão aqui...

✅ Resumo da Parte 3

  • Funções organizam código em blocos reutilizáveis com parâmetros e valores de retorno
  • Arrow functions oferecem sintaxe mais concisa para funções simples
  • Eventos tornam páginas interativas através de addEventListener()
  • O DOM permite alterar dinamicamente estrutura, conteúdo e estilo da página
  • Seletores como querySelector() facilitam o acesso aos elementos

🎯 Perguntas de Revisão

🚀 Próximos Passos

Parabéns! Você domina funções, eventos e DOM. Agora vamos explorar ambientes de desenvolvimento e projetos práticos!

🛠️ Continuar para Ambiente & Prática →