404 Not Found

404 Not Found


nginx

Saída do JavaScript

O primeiro passo ao aprender programação geralmente é fazer seu programa "falar" — o JS tem quatro métodos de saída, cada um com seu caso de uso.

console.log() — O Melhor Amigo do Desenvolvedor

console.log() exibe conteúdo no console do navegador (F12 → Console). Os usuários não veem, mas os desenvolvedores não conseguem viver sem ele para depuração.

Este é o método de saída que você mais vai usar — de longe. Seja rastreando um bug ou verificando lógica, console.log() é sua ferramenta principal.

alert() — Use com Moderação

alert() abre um diálogo modal que o usuário deve fechar clicando em "OK". Ele interrompe o fluxo de trabalho do usuário e quase nunca é usado em produção — aparece principalmente durante a fase de aprendizado.

Atenção: nunca coloque alert() dentro de um loop durante a depuração, ou você terá que clicar em "OK" dezenas de vezes para fechar os diálogos — não me pergunte como eu sei.

document.write() — Apenas para Testes

document.write() escreve conteúdo diretamente no fluxo do documento HTML. Se você chamá-lo após a página ter terminado de carregar, ele vai sobrescrever a página inteira — o que quase nunca é o que você quer. Use-o apenas para experimentos rápidos.

innerHTML — Atualizando Conteúdo da Página

innerHTML é a maneira padrão de "exibir na página" — selecione um elemento e modifique seu conteúdo HTML. Esta é a base da manipulação do DOM, que vamos cobrir em profundidade depois.

Exemplo: console.log() Exibindo no Console

HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Saída JS - console.log</title>
  <style>
    body { font-family: Arial, sans-serif; text-align: center; margin-top: 80px; }
    .tip { background: #e3f2fd; padding: 16px; border-radius: 8px; display: inline-block; color: #1565C0; }
    #output { margin-top: 20px; font-size: 18px; color: #333; white-space: pre-line; }
    button { margin-top: 16px; padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; background: #2196F3; color: #fff; cursor: pointer; }
    button:hover { background: #1976D2; }
  </style>
</head>
<body>
  <p class="tip">📌 Pressione F12 para abrir o console e ver a saída do console.log</p>
  <button id="logBtn">Registrar no Console</button>
  <p id="output"></p>
  <script>
    document.getElementById("logBtn").onclick = function() {
      console.log("Olá, Console!");
      console.log("Horário atual: " + new Date().toLocaleString());
      console.log("1 + 2 =", 1 + 2);
      var outputEl = document.getElementById("output");
      outputEl.textContent = "3 mensagens registradas no console — pressione F12 para visualizar!";
      outputEl.style.color = "#4CAF50";
    };
  </script>
</body>
</html>
▶ Experimente

Exemplo: Saída com Diálogo alert()

HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Saída JS - alert</title>
  <style>
    body { font-family: Arial, sans-serif; text-align: center; margin-top: 80px; }
    .warn { background: #fff3e0; padding: 14px; border-radius: 8px; display: inline-block; color: #E65100; margin-bottom: 20px; }
    button { padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; margin: 6px; }
    #alertBtn { background: #FF9800; }
    #safeAlertBtn { background: #4CAF50; }
  </style>
</head>
<body>
  <p class="warn">⚠️ alert() bloqueia a interface — evite usá-lo em projetos reais</p>
  <br>
  <button id="alertBtn">Mostrar alerta</button>
  <button id="safeAlertBtn">Mensagem na página (recomendado)</button>
  <p id="msg" style="margin-top:20px; font-size:20px; color:#4CAF50;"></p>
  <script>
    document.getElementById("alertBtn").onclick = function() {
      alert("Este é um diálogo de alerta! Você deve clicar em OK para continuar.");
    };
    document.getElementById("safeAlertBtn").onclick = function() {
      document.getElementById("msg").textContent = "Esta é uma mensagem na página — sem interrupção, muito melhor para o usuário!";
    };
  </script>
</body>
</html>
▶ Experimente

Exemplo: innerHTML Atualizando Conteúdo da Página

HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Saída JS - innerHTML</title>
  <style>
    body { font-family: Arial, sans-serif; max-width: 500px; margin: 60px auto; text-align: center; }
    #content { min-height: 80px; padding: 20px; border: 2px dashed #ccc; border-radius: 8px; font-size: 18px; color: #666; }
    button { margin: 8px; padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; }
    #textBtn { background: #9C27B0; }
    #htmlBtn { background: #e91e63; }
    #clearBtn { background: #999; }
  </style>
</head>
<body>
  <h2>Saída com innerHTML</h2>
  <div id="content">A saída do JS aparecerá aqui</div>
  <button id="textBtn">Exibir Texto</button>
  <button id="htmlBtn">Exibir HTML</button>
  <button id="clearBtn">Limpar</button>
  <script>
    var contentEl = document.getElementById("content");
    document.getElementById("textBtn").onclick = function() {
      contentEl.innerHTML = "Este é um texto simples";
      contentEl.style.color = "#9C27B0";
    };
    document.getElementById("htmlBtn").onclick = function() {
      contentEl.innerHTML = "<strong style='color:#e91e63;'>Texto em negrito</strong> e <em>texto em itálico</em> — o innerHTML consegue interpretar tags HTML";
      contentEl.style.color = "#333";
    };
    document.getElementById("clearBtn").onclick = function() {
      contentEl.innerHTML = "";
      contentEl.style.color = "#666";
    };
  </script>
</body>
</html>
▶ Experimente

Exemplo: document.write() e Seus Perigos

HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Saída JS - document.write</title>
  <style>
    body { font-family: Arial, sans-serif; max-width: 500px; margin: 60px auto; text-align: center; }
    .danger { background: #ffebee; padding: 14px; border-radius: 8px; color: #c62828; margin-bottom: 20px; }
    button { margin: 8px; padding: 10px 24px; font-size: 16px; border: none; border-radius: 6px; cursor: pointer; color: #fff; }
    #safeBtn { background: #4CAF50; }
    #dangerBtn { background: #f44336; }
  </style>
</head>
<body>
  <p class="danger">⚠️ Chamar document.write() após o carregamento da página sobrescreverá a página inteira! Clique no botão vermelho para ver isso acontecer (atualize para restaurar)</p>
  <button id="safeBtn">Saída Segura (innerHTML)</button>
  <button id="dangerBtn">Saída Perigosa (document.write)</button>
  <p id="safeOutput" style="margin-top:20px; font-size:18px; color:#4CAF50;"></p>
  <script>
    document.getElementById("safeBtn").onclick = function() {
      document.getElementById("safeOutput").textContent = "Saída via innerHTML — a página permanece intacta!";
    };
    document.getElementById("dangerBtn").onclick = function() {
      document.write("<h1 style='text-align:center; color:red; margin-top:100px;'>A página inteira foi sobrescrita!</h1><p style='text-align:center;'>Este é o perigo do document.write() — atualize para restaurar</p>");
    };
  </script>
</body>
</html>
▶ Experimente

📖 Resumo

  1. console.log() é a principal ferramenta de depuração — exibe no console onde os usuários não veem
  2. alert() bloqueia a interface — use apenas durante o aprendizado, nunca em produção
  3. document.write() sobrescreve a página inteira se chamado após o carregamento — adequado apenas para experimentos iniciais
  4. innerHTML é a maneira padrão de atualizar conteúdo da página e pode interpretar tags HTML
  5. No desenvolvimento real, 99% do tempo você usará console.log() para depuração e innerHTML para atualizações na página
  6. Cada método tem seu lugar — escolha o certo e você trabalhará de forma mais inteligente

❓ Perguntas Frequentes

P:Os usuários conseguem ver a saída do console.log()? R:Não — ela é exibida no console das ferramentas de desenvolvedor. Pense nele como um painel de instrumentos atrás do painel: invisível para o motorista, mas essencial para o mecânico. Então nunca coloque informações importantes apenas no console.log — os usuários não verão.

P:Qual a diferença entre innerHTML e textContent? R:innerHTML interpreta tags HTML, enquanto textContent trata tudo como texto simples. Por exemplo, ao definir <strong>negrito</strong> — o innerHTML renderiza texto em negrito, mas o textContent exibe os caracteres crus da tag. Se você só quer alterar texto, textContent é mais seguro — não vai executar scripts injetados acidentalmente.

P:Por que o alert() não é recomendado? R:Porque ele congela a página — o usuário deve fechar o diálogo antes de fazer qualquer outra coisa. Imagine preencher um formulário e receber um popup após cada campo — a experiência seria terrível.

📝 Atividades

  1. Iniciante: Crie uma página com um botão que, ao ser clicado, usa console.log() para exibir seu nome e idade.
  2. Intermediário: Crie uma página que usa innerHTML para exibir uma lista não ordenada (pelo menos 3 itens), onde cada item é uma linguagem de programação que você aprendeu.
  3. Desafio: Crie uma página de "Comparação de Métodos de Saída" com quatro botões, cada um correspondendo a um dos quatro métodos de saída. Ao clicar, exiba uma descrição desse método na mesma área da página (pule alert e document.write — simule-os com innerHTML).
100%