Tutorial Principal de JavaScript
Tutorial simples de JavaScript para iniciantes com livro de problemas e exemplos de soluções.
Fundamentos
001
Introdução à linguagem JavaScript para iniciantes
002Executando JavaScript
003Primeiro programa em JavaScript
004Vamos analisar o código do programa
005Exemplos Adicionais
006Incluindo um arquivo com scripts JavaScript
007Vários arquivos com scripts JavaScript
008Características da tag script em JavaScript
009Cacheamento de arquivos JavaScript pelo navegador
010Modo estrito em JavaScript
011Comentários em JavaScript
012Variáveis em JavaScript
013Utilização de Variáveis
014Declaração de múltiplas variáveis em JavaScript
015Alteração de Valores de Variáveis
016Vários let para uma mesma variável
017Operações Matemáticas com Números em JavaScript
018Operações Matemáticas com Variáveis em JavaScript
019Precedência de Operações Matemáticas em JavaScript
020Precedência igual de operações matemáticas em JavaScript
021Parênteses de Agrupamento em JavaScript
022Frações em JavaScript
023Números negativos em JavaScript
024Sinal de mais antes de números em JavaScript
025Módulo em JavaScript
026Exponenciação em JavaScript
027Precedência da Exponenciação
028Strings em JavaScript
029Concatenação de strings em JavaScript
030Comprimento de uma string em JavaScript
031Template Strings em JavaScript
032Multilinha
033Valores Especiais em JavaScript
034Significado de undefined
035Valor null
036Valores true e false
037Significado de NaN
038Infinity e -Infinity em JavaScript
039Trabalhando com o Console em JavaScript
040Tipos de dados no console JavaScript
041Erros no Console JavaScript
042Constantes em JavaScript
043Conversão Automática de Tipos de Dados
044Conversão para Número em JavaScript
045Conversão Abreviada para Número em JavaScript
046Conversão de Números Inválidos em JavaScript
047Extraindo Números em JavaScript
048Conversão para String em JavaScript
049Aplicando conversão para strings em JavaScript
050Conversão do tipo booleano em JavaScript
051Conversão para o tipo booleano em JavaScript
052Obtendo caracteres de uma string em JavaScript
053Imutabilidade de Strings em JavaScript
054O último caractere de uma string em JavaScript
055Strings com números em JavaScript
056Acessando os dígitos de um número em JavaScript
057Operações para modificar variáveis em JavaScript
058Operadores de Atribuição Abreviada em JavaScript
059Operações de incremento e decremento em JavaScript
060Tipos prefixo e pós-fixo em JavaScript
061Cálculos Imprecisos em JavaScript
062A função prompt em JavaScript
063Problema com tipos de dados na função prompt em JavaScript
064Saída de texto em um documento em JavaScript
065Encontrando erros no código
066Prática com Operações em JavaScript
067Prática com fórmulas em JavaScript
Matrizes
068
Arrays em JavaScript
069Acessando elementos de arrays em JavaScript
070Comprimento de um array em JavaScript
071Modificando elementos de array em JavaScript
072Sobrescrevendo elementos de array em JavaScript
073Incremento e decremento de elementos de array em JavaScript
074Adicionando elementos por chaves em JavaScript
075Arrays esparsos em JavaScript
076Adicionando elementos com push em JavaScript
077Chaves de arrays a partir de variáveis em JavaScript
078O operador delete em arrays no JavaScript
079Encontrando erros em códigos com arrays JavaScript
Objetos
080
Objetos em JavaScript
081Como exibir um objeto inteiro em JavaScript
082Chaves de string em objetos JavaScript
083Propriedades de Objetos em JavaScript
084Restrições para chaves de objetos em JavaScript
085Modificando elementos de objetos em JavaScript
086Adicionando elementos a objetos em JavaScript
087Desordenação de Objetos em JavaScript
088Matriz de chaves de objeto em JavaScript
089Comprimento de um objeto em JavaScript
090Chaves de objetos a partir de variáveis em JavaScript
091Erro de Acesso a Elemento por Chave em JavaScript
092Erro de acesso à propriedade de objeto em JavaScript
093Propriedades Computadas em JavaScript
094O operador in em JavaScript
095Operador delete em JavaScript
096Tipagem de Objetos em JavaScript
097Arrays como objetos em JavaScript
098Diferenciando arrays de objetos em JavaScript
099Objetos e primitivos em JavaScript
100Passagem de objetos por referência em JavaScript
101Constantes com arrays ou objetos em JavaScript
102Abordagem de Programação com Constantes em JavaScript
103Buscando erros em código com objetos JavaScript
Condições
104
A estrutura if-else em JavaScript
105Operadores maior e menor em JavaScript
106Verificação de igualdade em JavaScript
107Verificação de desigualdade em JavaScript
108Comparação de Variáveis em JavaScript
109Igualdade de Strings em JavaScript
110Igualdade entre strings e números em JavaScript
111Igualdade por valor e tipo em JavaScript
112Desigualdade por valor e tipo em JavaScript
113Operador Lógico AND em JavaScript
114Operador Lógico OU em JavaScript
115Precedência de operadores lógicos em JavaScript
116Agrupamento de condições em JavaScript
117Inversão de expressões lógicas em JavaScript
118Condições com valores booleanos em JavaScript
119Comparação de valores com tipo booleano em JavaScript
120Forma abreviada de verificação de verdade em JavaScript
121Forma abreviada de verificação de falsidade em JavaScript
122Forma Geral de Verificação Abreviada em JavaScript
123Condições complexas em forma abreviada em JavaScript
124A opcionalidade da construção else em JavaScript
125Opcionalidade das chaves no JavaScript
126O problema da opcionalidade das chaves no if-else
127A construção else if em JavaScript
128Estruturas aninhadas if-else em JavaScript
129A estrutura switch-case em JavaScript
130A opcionalidade do break na construção switch-case em JavaScript
131Operador Ternário em JavaScript
132Operações Lógicas em JavaScript
133A função confirm em JavaScript
134Escopo de Variáveis em if-else em JavaScript
135Nuances do escopo de variáveis em construções if-else em JavaScript
136Verificação das partes de uma hora usando if-else em JavaScript
137Verificando o comprimento de strings e arrays em JavaScript
138Verificação de caracteres de string em JavaScript
139Verificação de dígitos de um número em JavaScript
140Verificando o resto da divisão em JavaScript
141Encontrando erros em código com condições JavaScript
142Prática com condicionais if-else em JavaScript
Laços
143
Introdução a loops em JavaScript
144Iteração em array com loop for-of em JavaScript
145Iterando sobre um objeto com loop for-in em JavaScript
146O loop while em JavaScript
147Loop for em JavaScript
148Loop for para arrays em JavaScript
149Condições em Loops em JavaScript
150Acumulando números em loops JavaScript
151Acumulação de elementos de arrays em loops JavaScript
152Formação de Strings através de Loops em JavaScript
153Dígitos de um número ao iterar com loop em JavaScript
154Opcionalidade das chaves em loops em JavaScript
155O problema da opcionalidade das chaves em loops em JavaScript
156Instrução break em JavaScript
157Instrução continue em JavaScript
158Laços aninhados em JavaScript
159Escopo em Loops JavaScript
160Loops Aninhados e Escopo em JavaScript
161Preenchendo Arrays em JavaScript
162Modificando um array em um loop JavaScript
163Preenchendo objetos com loop em JavaScript
164Modificando objetos através de loop em JavaScript
165Trabalhando com flags em JavaScript
166Dicas para escrever código de loops em JavaScript
167Dicas para depurar código usando exemplos de loops em JavaScript
168Encontrando erros em código com loops JavaScript
169Praticando Loops em JavaScript
Multidimensionalidade
170
Arrays multidimensionais em JavaScript
171Array tridimensional em JavaScript
172Arrays arbitrários em JavaScript
173Iteração de Arrays Multidimensionais em JavaScript
174Iteração com for comum em JavaScript
175Preenchendo Arrays Multidimensionais em JavaScript
176Problemas ao preencher arrays multidimensionais em JavaScript
177Preenchendo arrays multidimensionais em ordem em JavaScript
178Objetos multidimensionais em JavaScript
179Iteração de Objetos Multidimensionais em JavaScript
180Estruturas Multidimensionais em JavaScript
181Iteração de Estruturas Multidimensionais em JavaScript
182Matriz de objetos em JavaScript
183Chaves de variáveis em estruturas multidimensionais JavaScript
184Adicionando elementos a arrays multidimensionais em JavaScript
185Adicionando elementos a objetos multidimensionais JavaScript
Métodos Padrão
186
Potência e Raiz em JavaScript
187Funções de arredondamento em JavaScript
188Números extremos em JavaScript
189Números Aleatórios em JavaScript
190Módulos em JavaScript
191Maiúsculas e minúsculas em JavaScript
192Extração de partes de strings em JavaScript
193Pesquisa em Strings em JavaScript
194Substituindo partes de strings em JavaScript
195Divisão de strings em JavaScript
196Elementos de extremidade em JavaScript
197Partes de arrays em JavaScript
198Modificação de Arrays em JavaScript
199Pesquisa em Arrays em JavaScript
200Matriz de chaves de objeto em JavaScript
201Buscando erros no código com métodos padrão do JavaScript
Funções Personalizadas
202
Fundamentos do trabalho com funções personalizadas em JavaScript
203Parâmetros de Funções em JavaScript
204Vários parâmetros de funções em JavaScript
205Parâmetros-variáveis de funções em JavaScript
206Parâmetros Opcionais em JavaScript
207A instrução return em JavaScript
208Chamada sequencial de funções em JavaScript
209Ponto de atenção do return em JavaScript
210Ciclo e return em JavaScript
211Uso do return em loops em JavaScript
212Técnica de trabalho com return em JavaScript
213Bandeiras em Funções JavaScript
214Operadores lógicos sem if em funções JavaScript
215Dicas para criar funções em JavaScript
216Buscando erros no código com funções JavaScript
217Prática com Funções JavaScript
Variáveis de Funções
218
Variáveis Globais em Funções em JavaScript
219Variáveis locais em funções em JavaScript
220Nomes iguais de variáveis em funções em JavaScript
221Modificando variáveis globais em JavaScript
222Variáveis Globais e Parâmetros de Funções em JavaScript
223Coincidência de nomes com parâmetros em JavaScript
224Parâmetros-objeto JavaScript
Tipos de Funções
225
Código-fonte da função e seu resultado em JavaScript
226Função como Variável em JavaScript
227Atribuindo uma função a outra variável em JavaScript
228Atribuição de funções a variáveis em JavaScript
229Coincidência de nome de função e variável em JavaScript
230Function expression e Function declaration em JavaScript
231Diferença entre declarações de função
232Ponto e vírgula na declaração de funções em JavaScript
233Nuances das Expressões Funcionais em JavaScript
234Função com nome, mas Expression Function em JavaScript
235Expressões de Função Nomeadas em JavaScript
236Como verificar o tipo de função em JavaScript
237Expressão de função à esquerda em JavaScript
238Expressão à Direita da Função em JavaScript
239Matriz com funções anônimas em JavaScript
240Objeto com funções anônimas em JavaScript
241Aplicação de Objeto com Funções em JavaScript
Funções Aninhadas
242
Passando funções como parâmetros em JavaScript
243Funções nomeadas como parâmetros em JavaScript
244Parâmetros de funções passadas em JavaScript
245Passando um número como parâmetro em JavaScript
246Aplicação de Passagem de Função como Parâmetro em JavaScript
247Funções Aninhadas em JavaScript
248Escopo de funções aninhadas em JavaScript
249Parâmetros da função externa em JavaScript
250Parâmetros de funções externas e internas em JavaScript
251Parâmetros homônimos em JavaScript
252Função que retorna uma função em JavaScript
253Qualquer nível de aninhamento em JavaScript
254Parâmetros de funções retornadas em JavaScript
255Funções de Callback em JavaScript
256Nuances de callbacks em JavaScript
257Funções de Seta em JavaScript
258Aplicação de Arrow Functions em JavaScript
Closures
259
Acesso a variáveis externas em funções JavaScript
260Ambiente Léxico de Funções em JavaScript
261Aplicação do Ambiente Léxico de Funções em JavaScript
262Closures em JavaScript
263Contador com Closures em JavaScript
264Variável Local de Contador em JavaScript
265Variável Global de Contador em JavaScript
IIFE
266
Invocação de Função Imediata em JavaScript
267Atribuição de função a uma variável em JavaScript
268Aplicação de Invocação de Função Imediata em JavaScript
269Parênteses em IIFE em JavaScript
270Parâmetros de função quando chamada imediatamente em JavaScript
271Múltiplas Chamadas IIFE em JavaScript
272Armadilhas das IIFE em JavaScript
273Ponto e vírgula para segurança em IIFE
274Closures e Invocação Imediata de Função em JavaScript
Recursão
275
Trabalhando com recursão em JavaScript
276Exemplo com parâmetro via recursão em JavaScript
277Soma dos elementos de um array com recursão em JavaScript
278Recursão e Estruturas Multidimensionais em JavaScript
279Soma de elementos de array via recursão em JavaScript
280Manipulação de elementos em JavaScript
Métodos de Iteração
281
Método map para iterar arrays em JavaScript
282Método forEach para iterar arrays em JavaScript
283Método filter para filtrar arrays em JavaScript
284Método every para verificar arrays em JavaScript
285Método some para verificar arrays em JavaScript
286Busca em array usando callback em JavaScript
287Reduzindo um array em JavaScript
Operador spread
Operador rest
Desestruturação
298
Desestruturação de Arrays em JavaScript
299Desestruturação de Array de uma Função em JavaScript
300Ignorando elementos de array na desestruturação em JavaScript
301Valores extras na desestruturação de array em JavaScript
302O Resto de um Array na Desestruturação em JavaScript
303Valores padrão na desestruturação de array em JavaScript
304Funções como padrão na desestruturação de array em JavaScript
305Declaração de variáveis na desestruturação de array em JavaScript
306Desestruturação de objetos em JavaScript
307Nomes de variáveis na desestruturação de objetos em JavaScript
308Valores padrão na desestruturação de objetos em JavaScript
309Variáveis e Valores Padrão em JavaScript
310Declaração de variáveis na desestruturação de objetos em JavaScript
311Desestruturação de parâmetros de funções em JavaScript
312Desestruturação de objetos parâmetros de funções em JavaScript
Tempo
313
Trabalhando com o objeto Date em JavaScript
314Formatação de data em JavaScript
315Alterando o formato de data em JavaScript
316Obtendo o dia da semana em JavaScript
317Exibindo partes da data por extenso em JavaScript
318Definindo hora e data no objeto Date em JavaScript
319Obtenção de timestamp em JavaScript
320Diferença entre datas no formato timestamp em JavaScript
321Diferença entre objetos de data em JavaScript
322Ajuste automático de datas em JavaScript
323Encontrando o último dia do mês em JavaScript
324Definição de ano bissexto em JavaScript
325Verificação de validade de data em JavaScript
326Obter o dia do ano atual em JavaScript
327Dia do próximo ou do mês anterior
328Dia do próximo ou do ano anterior
329Diferença entre momentos
330Momento do dia
331Início do dia em JavaScript
332O Fim do Dia em JavaScript
333Verificação Cíclica de Momentos no Tempo em JavaScript
334Prática para obter momentos de tempo em JavaScript
335Comparação de strings de datas em JavaScript
336Comparação de data sem o ano em JavaScript
337Verificação se uma data está dentro de um intervalo
338Comparação de objetos de data em JavaScript
Introdução ao DOM
339
Fundamentos de Trabalho com DOM em JavaScript
340Elementos DOM em JavaScript
341Obtendo um elemento DOM em JavaScript
342Seletores complexos de elementos DOM em JavaScript
343Vinculando manipuladores a elementos em JavaScript
344Manipuladores de eventos nomeados em JavaScript
345Um manipulador para muitos elementos em JavaScript
346Múltiplos manipuladores para um mesmo evento em JavaScript
347Manipuladores de Diferentes Eventos em JavaScript
348Trabalhando com texto de elementos em JavaScript
349Trabalhando com código HTML de elementos em JavaScript
350Atributos de tags como propriedades em JavaScript
351Trabalhando com campos de texto em JavaScript
352Foco de campos de texto em JavaScript
353Exceções ao trabalhar com atributos em JavaScript
354Encadeamento de métodos e propriedades em JavaScript
355Vantagens e desvantagens do encadeamento em JavaScript
356O objeto this em JavaScript
357A vantagem do this em JavaScript
358Obtendo um grupo de elementos em JavaScript
359Adicionando manipuladores em loop em JavaScript
360Adicionando manipuladores anônimos em loop em JavaScript
361Remoção de event listeners em JavaScript
362Desvinculando manipuladores de eventos em loop em JavaScript
363Desvinculando funções anônimas em JavaScript
364Dicas para escrever código usando DOM em JavaScript como exemplo
365Buscando erros no código com DOM em JavaScript
366Prática do Material Estudado sobre Trabalho com DOM
Atributos
367
Obtendo atributos em JavaScript
368Definindo atributos em JavaScript
369Remoção de Atributos em JavaScript
370Verificando a existência de atributos em JavaScript
371Atributos personalizados em JavaScript
372Nomes de atributos com hífens em JavaScript
373Acessando atributos através de métodos em JavaScript
374Manipulação de um array de classes CSS em JavaScript
375Adicionando classes CSS em JavaScript
376Remoção de classes CSS em JavaScript
377Verificando classes CSS em JavaScript
378Alternância de classes CSS em JavaScript
Estilização
379
Estilização de elementos através do atributo style em JavaScript
380Estilizando propriedades com hífen em JavaScript
381Exceção ao estilizar elementos em JavaScript
382Estilização usando classes CSS em JavaScript
383Vantagem da estilização com classes CSS em JavaScript
384Aplicação de estilização em JavaScript
Pesquisa
385
Encontrando elementos descendentes em JavaScript
386Encontrando elementos pai em JavaScript
387Buscando todos os elementos pais em JavaScript
388Buscando elementos vizinhos em JavaScript
389Buscando elemento por id em JavaScript
390Pesquisando elemento pelo nome da tag em JavaScript
391Buscando elementos por nome de classe em JavaScript
392Buscando elementos dentro de outro elemento em JavaScript
Nós
Formulários
398
Trabalhando com textarea em JavaScript
399Atributo disabled em JavaScript
400Trabalhando com Checkboxes em JavaScript
401Alternância de atributos sem valores
402Trabalhando com botões de rádio em JavaScript
403Evento change em JavaScript
404Evento input em JavaScript
405Métodos focus e blur em JavaScript
406Buscando erros em código com formulários em JavaScript
Listas Suspensas
407
Trabalhando com listas suspensas em JavaScript
408O atributo value em listas suspensas em JavaScript
409Alterando o item selecionado de uma lista em JavaScript
410Número da opção selecionada em uma lista suspensa
411Obtendo itens de uma lista suspensa em JavaScript
412Matriz de itens de uma lista suspensa em JavaScript
413Trabalhando com itens de listas suspensas em JavaScript
414Selecionando um item de lista em JavaScript
415Obtendo a opção selecionada em JavaScript
Objeto Event
416
Fundamentos do trabalho com o objeto Event em JavaScript
417Coordenadas de evento em JavaScript
418Tipo de evento no objeto Event em JavaScript
419Elemento de evento no objeto Event em JavaScript
420Obtendo teclas pressionadas em JavaScript
421Rastreamento de Teclas Modificadoras em JavaScript
422Prevenção de Ação Padrão em JavaScript
423Propagação de Eventos em JavaScript
424Obtendo o elemento alvo durante a propagação de eventos
425Interrompendo a propagação de eventos em JavaScript
426Múltiplos manipuladores de eventos em um elemento em JavaScript
427Interrupção Imediata da Propagação em JavaScript
428Aplicação do cancelamento de propagação de eventos em JavaScript
429Propagação de Eventos em JavaScript
430Anexando manipuladores a novos elementos em JavaScript
431Delegação de Eventos em JavaScript
432Delegação Universal de Eventos em JavaScript
Contexto
433
Fundamentos do Trabalho com Contexto em JavaScript
434Contexto de função não vinculada em JavaScript
435Perda de contexto em JavaScript
436Solucionando o Problema de Contexto em JavaScript
437Contexto via variável em JavaScript
438Contexto via parâmetro em JavaScript
439Contexto através de função de seta em JavaScript
440Vinculando contexto através do método call em JavaScript
441Método call com parâmetros em JavaScript
442Vinculando contexto através do método apply em JavaScript
443Vinculando contexto através do método bind em JavaScript
Temporizadores
444
Fundamentos do trabalho com a função setInterval em JavaScript
445Contador usando a função setInterval em JavaScript
446Parando um Timer JavaScript
447Botão para iniciar temporizador em JavaScript
448Cliques múltiplos em um botão para iniciar um timer em JavaScript
449Botões para iniciar e parar um temporizador em JavaScript
450Prática com temporizadores e manipulação do DOM em JavaScript
451Timers e perda de contexto em JavaScript
452Prática com Timers e Trabalho com DOM em JavaScript
453Atraso antes da execução em JavaScript
454Iniciando um temporizador em JavaScript
Manipulação de Elementos
455
Criação e Inserção de Elementos em JavaScript
456Vinculando eventos ao inserir elementos
457Criação de elementos em loop em JavaScript
458Anexando manipuladores em loop em JavaScript
459Remoção de elementos em JavaScript
460Inserindo elementos no início ou no final em JavaScript
461Inserção de elementos antes de elementos em JavaScript
462Inserção Adjacente de Elementos em JavaScript
463Inserção Adjacente de Tags em JavaScript
464Clonagem de elementos em JavaScript
465Verificação de elementos em JavaScript
Prática
466
Criação de elementos a partir de um array em JavaScript
467Prática na criação de listas ul em JavaScript
468Criando Tabelas HTML em JavaScript
469Preenchimento Sequencial de Tabelas HTML
470Criando uma tabela HTML a partir de um array em JavaScript
471Criação de tabela HTML a partir de um array de objetos
472Adicionando linhas e colunas a uma tabela HTML
473Modificando células de tabelas HTML com JavaScript
474Autodeleção de novos elementos em JavaScript
475Link para remover elemento em JavaScript
476Criando links para remover elementos em JavaScript
477Edição de um elemento individual em JavaScript
478Ocultando texto ao editar um elemento em JavaScript
479Edição em grupo de elementos em JavaScript
480Edição e exclusão simultânea de elementos
481Estilização de elementos em JavaScript
482Botões para ocultar e exibir elementos em JavaScript
483Muitos elementos com botões de exibição em JavaScript
484Ativação de elementos em JavaScript
485Alternância de Estilos de Ativação em JavaScript
486Prática na alteração de elementos em JavaScript
Funções e DOM
487
Funções para trabalhar com elementos DOM em JavaScript
488Funções para trabalhar com um grupo de elementos DOM
489Passando um callback para trabalhar com DOM em JavaScript
490Passando o número de ordem no callback em JavaScript
491Passando elemento DOM como parâmetro
492Passando um grupo de elementos DOM como parâmetros
493Função para criar tabelas HTML em JavaScript
494Retornando uma tabela de uma função em JavaScript
495Função para criar tabela a partir de um array
Módulos via Closures
496