Aprenda JavaScript do básico ao avançado com exemplos interativos, explicações detalhadas e lista de comandos utilizados.
Capítulo 0: Introdução
Bem-vindo ao tutorial de JavaScript! Este capítulo apresenta a estrutura do tutorial e o que você encontrará em cada capítulo. Você aprenderá desde os conceitos básicos até os avançados, com exemplos interativos, explicações detalhadas e uma lista dos comandos utilizados.
Capítulo 0: Organização e apresentação do tutorial.
Capítulo 1: Fundamentos e exemplos interativos de JavaScript.
Capítulo 2: Manipulação do HTML e CSS com JavaScript.
Capítulo 3: Onde e como inserir scripts em suas páginas.
Capítulo 4: Conceitos avançados como Promises e arrow functions.
Capítulo 5: Várias saídas de dados com JavaScript.
Capítulo 6: Sintaxe e instruções fundamentais da linguagem.
Exemplo Interativo: Saudação
Clique no botão para receber uma saudação personalizada:
Explicação Detalhada:
Neste exemplo, adicionamos um ouvinte de evento ao botão greetBtn0. Quando o usuário clica no botão, a função é executada e altera o conteúdo do parágrafo greetDisplay0 para exibir uma mensagem de boas-vindas. Isso demonstra a manipulação do DOM e o tratamento de eventos com JavaScript.
Comandos Utilizados:
document.getElementById('greetBtn0'): Seleciona o elemento com o ID "greetBtn0".
.addEventListener('click', function): Registra uma função para executar quando o botão for clicado.
textContent: Define ou retorna o conteúdo textual de um elemento.
Comando
Descrição
document.getElementById('greetBtn0')
Seleciona o elemento com o ID "greetBtn0".
.addEventListener('click', function)
Registra uma função para executar quando o botão for clicado.
textContent
Define ou retorna o conteúdo textual de um elemento.
Capítulo 1: Tutorial de JavaScript
Neste capítulo, você aprenderá os fundamentos do JavaScript por meio de exemplos interativos. Cada exemplo mostra a lógica completa, as funções utilizadas e os comandos empregados, facilitando seu entendimento.
Exemplo Interativo: Data e Hora Atual
Clique no botão para exibir a data e hora atual:
<!-- Exemplo Interativo: Data e Hora Atual -->
<button id="dateTimeBtn1">Clique aqui</button>
<p id="dateTimeDisplay1"></p>
<script>
document.getElementById('dateTimeBtn1').addEventListener('click', () => {
const now = new Date();
document.getElementById('dateTimeDisplay1').textContent = now.toLocaleString();
});
</script>
Explicação Detalhada:
Ao clicar no botão dateTimeBtn1, o código cria um objeto Date que captura o momento exato da interação. Em seguida, toLocaleString() formata essa data/hora de acordo com a localidade do usuário e atualiza o conteúdo do parágrafo dateTimeDisplay1. Isso demonstra a manipulação de datas e atualização dinâmica do DOM.
Comandos Utilizados:
new Date(): Cria um novo objeto de data com a data e hora atuais.
toLocaleString(): Formata a data/hora conforme a localidade.
document.getElementById() e .addEventListener(): Selecionam elementos e registram eventos.
Comando
Descrição
new Date()
Cria um novo objeto de data com a data e hora atuais.
Explicação Detalhada:
Este exemplo utiliza uma variável counter1 para armazenar a contagem. Cada clique no botão incrementa o valor e atualiza o elemento counterDisplay1 para refletir a nova contagem. Isso ilustra o uso de variáveis, o operador de incremento (++) e a atualização dinâmica do DOM.
Comandos Utilizados:
let counter1 = 0;: Declara a variável counter1 e a inicializa com zero.
counter1++;: Incrementa o valor da variável.
document.getElementById() e .addEventListener(): Manipulam o DOM e registram eventos.
Comando
Descrição
let counter1 = 0;
Declara a variável e a inicializa com zero.
counter1++;
Incrementa o valor da variável em 1.
document.getElementById()
Seleciona um elemento pelo seu ID.
.addEventListener()
Registra um evento de clique.
Capítulo 2: Introdução ao JavaScript
Neste capítulo, você verá como o JavaScript pode modificar dinamicamente elementos HTML, atributos e estilos. Os exemplos a seguir demonstram a interação com a página de forma prática.
Exemplo Interativo: Lâmpada On/Off
Clique nos botões para ligar ou desligar a lâmpada:
Explicação Detalhada:
Neste exemplo, dois botões controlam uma imagem representando uma lâmpada. Ao clicar em "Ligar", os atributos src e alt da imagem são alterados para mostrar a lâmpada acesa; o botão "Desligar" reverte a imagem para o estado original. Isso demonstra a manipulação de atributos HTML via JavaScript.
Comandos Utilizados:
document.getElementById('lampImg2'): Seleciona o elemento de imagem.
.src: Define o caminho da imagem.
.alt: Define o texto alternativo da imagem.
.addEventListener(): Registra funções para eventos de clique.
Comando
Descrição
document.getElementById('lampImg2')
Seleciona o elemento de imagem.
.src
Define o caminho da imagem.
.alt
Define o texto alternativo da imagem.
.addEventListener()
Registra funções para eventos de clique.
Exemplo Interativo: Mensagem Personalizada
Digite seu nome e clique para receber uma mensagem personalizada:
Explicação Detalhada:
Este exemplo lê o valor inserido no campo de texto nameInput2 quando o botão nameBtn2 é clicado. Se o usuário digitar um nome, o script exibe uma mensagem personalizada; caso contrário, solicita a entrada. Assim, demonstra a manipulação de inputs, validação de dados e atualização do DOM.
Comandos Utilizados:
document.getElementById('nameInput2').value: Obtém o valor digitado pelo usuário.
String.trim(): Remove espaços em branco do início e fim da string.
if/else: Estrutura condicional para validar o input.
Comando
Descrição
document.getElementById('nameInput2').value
Obtém o valor digitado pelo usuário.
trim()
Remove espaços em branco do início e fim da string.
if/else
Estrutura condicional para validação do input.
Capítulo 3: JavaScript Onde
O JavaScript pode ser inserido tanto na seção <head> quanto no <body> do HTML. Este capítulo mostra como os scripts podem interagir diretamente com os elementos da página.
Explicação Detalhada:
Ao clicar no botão colorBtn3, o script gera uma cor hexadecimal aleatória e a aplica à propriedade color do elemento colorDisplay3, alterando dinamicamente a cor do texto. Esse exemplo demonstra a manipulação de estilos e a utilização de funções matemáticas para gerar valores aleatórios.
Comandos Utilizados:
Math.random(): Gera um número aleatório entre 0 e 1.
Math.floor(): Arredonda um número para o inteiro inferior.
toString(16): Converte um número para sua representação hexadecimal.
style.color: Define a cor do texto de um elemento.
Comando
Descrição
Math.random()
Gera um número aleatório entre 0 e 1.
Math.floor()
Arredonda para o inteiro inferior.
toString(16)
Converte um número para hexadecimal.
style.color
Define a cor do texto de um elemento.
Capítulo 4: Conceitos Avançados de JavaScript
Explore recursos avançados como Promises, arrow functions e closures para escrever código mais conciso e assíncrono. Cada exemplo detalha a lógica por trás desses conceitos e os comandos utilizados.
Exemplo Interativo: Demonstração de Promise
Clique no botão para iniciar uma Promise que se resolve após 2 segundos:
Explicação Detalhada:
Neste exemplo, criamos uma Promise que simula uma operação assíncrona usando setTimeout. Após 2 segundos, a Promise é resolvida e retorna a mensagem "Promise resolvida!", que é então exibida no elemento promiseDisplay4 através do método then(). Esse fluxo é essencial para entender operações assíncronas no JavaScript.
Comandos Utilizados:
new Promise(): Cria uma nova Promise para operações assíncronas.
setTimeout(): Executa uma função após um intervalo de tempo definido.
.then(): Registra uma função a ser executada quando a Promise é resolvida.
Arrow Function: Forma concisa de definir funções anônimas.
Comando
Descrição
new Promise()
Cria uma nova Promise para operações assíncronas.
setTimeout()
Executa uma função após um intervalo definido.
.then()
Registra uma função a ser executada quando a Promise é resolvida.
Arrow Function
Define funções de forma concisa.
Exemplo Interativo: Soma com Arrow Function
Digite dois números e clique para calcular a soma:
Explicação Detalhada:
Aqui, os valores inseridos são convertidos para números com parseFloat() e somados usando uma arrow function. O resultado é exibido no elemento sumDisplay4. Este exemplo reforça conceitos como conversão de tipos, funções anônimas e atualização do DOM.
Comandos Utilizados:
parseFloat(): Converte uma string para número decimal.
Arrow Function: Sintaxe concisa para definir funções.
|| 0: Garante que, se o valor não for numérico, seja utilizado 0.
Comando
Descrição
parseFloat()
Converte uma string para número decimal.
Arrow Function
Define funções de forma concisa.
|| 0
Utiliza 0 como valor padrão se a conversão falhar.
Capítulo 5: Saída JavaScript
Exemplo Interativo: Atualizar Conteúdo com innerHTML
Clique no botão para atualizar o conteúdo do parágrafo:
Explicação Detalhada:
Ao clicar no botão, o método innerHTML atualiza o conteúdo do parágrafo innerHtmlDemo5 com o resultado da expressão 5 + 6. Esse exemplo é útil para aprender como modificar o conteúdo HTML dinamicamente.
Comandos Utilizados:
innerHTML: Define ou retorna o conteúdo HTML de um elemento.
document.getElementById(): Seleciona um elemento pelo seu ID.
Comando
Descrição
innerHTML
Atualiza ou retorna o conteúdo HTML de um elemento.
Explicação Detalhada:
Este exemplo utiliza a função alert() para exibir uma caixa de diálogo com o resultado de 5 + 6. É uma forma simples de notificar o usuário ou testar pequenos trechos de código.
Comandos Utilizados:
alert(): Exibe uma caixa de alerta com uma mensagem.
Comando
Descrição
alert()
Exibe uma caixa de alerta com a mensagem especificada.
Explicação Detalhada:
Ao clicar no botão, o método console.log() registra o resultado da soma no console do navegador, auxiliando na depuração do código.
Comandos Utilizados:
console.log(): Imprime informações no console do navegador.
Comando
Descrição
console.log()
Imprime informações no console do navegador.
Exemplo Interativo: Exibir Saída em Pre
Clique para exibir múltiplas linhas de texto formatado:
Saída aparecerá aqui.
<!-- Exemplo Interativo: Exibir Saída em Pre -->
<button id="preBtn5">Exibir Texto</button>
<pre id="preOutput5">Saída aparecerá aqui.</pre>
<script>
document.getElementById('preBtn5').addEventListener('click', () => {
const text = "Linha 1: Exemplo de saída.\nLinha 2: Evite usar document.write() após o carregamento.\nLinha 3: Utilize innerHTML ou textContent para atualizar a saída.";
document.getElementById('preOutput5').textContent = text;
});
</script>
Explicação Detalhada:
Neste exemplo, ao clicar no botão, o script define uma string com quebras de linha e a insere em um elemento <pre>, que preserva a formatação do texto. Isso é útil para exibir saídas com formatação semelhante a código.
Comandos Utilizados:
textContent: Define o texto interno do elemento, preservando quebras de linha em <pre>.
\n: Representa uma nova linha em uma string.
Comando
Descrição
textContent
Define o texto interno do elemento, preservando formatação.
\n
Representa uma nova linha em uma string.
Capítulo 6: Instruções JavaScript
Exemplo Interativo: Declaração de Variáveis
Clique para calcular a soma de 5 e 6 utilizando declarações de variáveis:
Resultado: ?
<!-- Exemplo Interativo: Declaração de Variáveis -->
<button id="declBtn6">Executar Declaração</button>
<p id="declDemo6">Resultado: ?</p>
<script>
document.getElementById('declBtn6').addEventListener('click', () => {
let x, y, z;
x = 5;
y = 6;
z = x + y;
document.getElementById('declDemo6').textContent = "Resultado: " + z;
});
</script>
Explicação Detalhada:
Ao clicar no botão, o código declara três variáveis (x, y e z), atribui valores a x e y, soma esses valores e exibe o resultado no elemento declDemo6. Esse exemplo reforça os conceitos básicos de declaração de variáveis, atribuição e operações aritméticas.
Comandos Utilizados:
let: Declara variáveis com escopo de bloco.
=: Operador de atribuição.
+: Operador de adição.
document.getElementById() e textContent: Manipulam o DOM.
Comando
Descrição
let
Declara variáveis com escopo de bloco.
=
Operador de atribuição.
+
Operador de adição.
document.getElementById()
Seleciona um elemento pelo seu ID.
textContent
Atualiza o conteúdo textual de um elemento.
Exemplo Interativo: Demonstração de Escopo
Clique para ver uma demonstração simples da diferença entre var e let:
Resultado da demonstração aparecerá aqui.
<!-- Exemplo Interativo: Demonstração de Escopo -->
<button id="scopeBtn6">Testar Escopo</button>
<p id="scopeDemo6">Resultado da demonstração aparecerá aqui.</p>
<script>
document.getElementById('scopeBtn6').addEventListener('click', () => {
function testScope() {
var a = "var é de função";
let b = "let é de bloco";
{
var a = "var pode ser redefinido"; // sobrescreve o valor de a
let b = "let permanece restrito ao bloco";
}
return a + " | " + b;
}
document.getElementById('scopeDemo6').textContent = testScope();
});
</script>
Explicação Detalhada:
Este exemplo demonstra a diferença de escopo entre var e let. A variável declarada com var pode ser redeclarada e modificada fora do bloco, enquanto a variável declarada com let permanece restrita ao bloco onde foi definida. Essa distinção é fundamental para evitar erros e comportamentos inesperados no código.