Apostila Avançada de JavaScript

Estilização

Estilização através do atributo style Unidades de medida no atributo style Erros com unidades de medida Descompactação de valores de propriedades CSS Redefinição de estilos através do style Configuração em massa de estilos Problemas de leitura de estilos Leitura de propriedades de arquivos CSS Conversão de valores lidos Estilização por classes Uma classe para estilização Inconveniência das classes Alternância de estilos através de data-

Métricas de elementos

Expansão de elementos em CSS Elemento de teste Tamanho do cliente do elemento Tamanho total do elemento Dimensões do elemento com rolagem Rolagem de elementos Alteração da rolagem do elemento Rolagem do elemento até o final Expansão do elemento Largura da barra de rolagem

Métricas da Janela

Tamanhos da janela Tamanhos da janela com rolagem Obtendo a rolagem da janela Obtendo e alterando a rolagem da janela Método para rolar a janela para uma posição Método para rolar a janela por um valor Método para rolar a janela até um elemento Evento de rolagem

Coleções Map

Introdução Funcionalidades Úteis Iteração com Loop Chaves e Valores Aplicação do Map

Coleções Set

Introdução Preenchimento Inicial Funcionalidades Úteis Iteração com Loop Conversão Remoção de Duplicatas de Array Obter sem Duplicatas

Pseudoarrays

Introdução Semelhança com arrays Diferenças Verificação de array Conversão para array Tipos de pseudoarrays Diferença entre os tipos

Símbolos

Introdução ao tipo Symbol Descrições do símbolo Símbolos como chaves de objetos Iteração de objeto com símbolos Função em um objeto Operações com objetos na função Símbolos globais Obtendo o nome do símbolo Símbolos bem conhecidos

Iteradores

Objetos iteráveis Função iteradora Invocações do iterador Geradores Loops em geradores Operação única de iteradores Iterador de objeto Criação de objeto iterável Gerador através de propriedade computada Iterador embutido values Iterador embutido keys Iterador embutido entries Três iteradores embutidos Operador spread e iteradores Iteradores embutidos de string Array de dígitos de um número Numeração de elementos DOM Obtenção de dados de elementos DOM

Formato JSON

Introdução JSON para dados Dados para JSON Alteração de dados em JSON

Armazenamento

Introdução Armazenamento no depurador Dados Salvamento único Regravação de dados Remoção de dados Limpeza do armazenamento Quantidade de registros Obtenção da chave pelo número Iteração do armazenamento por índices Arrays de chaves e valores do armazenamento Armazenamento de estruturas Modificação de estruturas armazenadas Prática

Expressões Regulares

Introdução Operadores de repetição Parênteses de agrupamento Escapando caracteres especiais Chaves Limitação da ganância Grupos de caracteres Conjuntos de caracteres Inversão de conjuntos de caracteres Particularidades do cirílico Caracteres especiais dentro de conjuntos Grupos de caracteres dentro de conjuntos Caracteres especiais de exclusão dentro de conjuntos Símbolo de acento circunflexo dentro de conjuntos Particularidades do hífen dentro de conjuntos Ignorando maiúsculas e minúsculas Início e fim da linha Limite de palavras Multilinha Comando 'ou' Variável com regex Método test Método search Método split Método match Grupos de captura no método match Match global MatchAll global Método exec Propriedade lastIndex Grupos de captura no método replace Callback no método replace Grupos de captura padrão no método replace Grupos de captura na própria regex Grupos de captura nomeados Grupos de captura nomeados dentro da expressão Parênteses não capturadores Lookahead e lookbehind positivo e negativo String com regex Flags para strings Barra invertida em strings

Situações Excepcionais

Introdução Tipos de Situações Emergentes Captura de Exceções Desenvolvimento com try-catch Captura de Exceções em Código Aninhado Objeto de Exceção Tipos Básicos de Exceções Aplicação de Tipos de Exceção Lançamento de Exceções Lançamento de Diferentes Tipos de Exceções Lançamento de Tipos de Exceção Personalizados Exemplo de Exceção com Atributos data- Exemplo de Exceção com JSON Propagação de Exceções

Assincronicidade

Código Síncrono e Assíncrono Assincronicidade do Modelo de Eventos Assincronicidade do Carregamento de Imagens Situações Excepcionais em Código Assíncrono

Callbacks Assíncronos

Introdução Passagem assíncrona de resultado para o callback Passagem de parâmetros para o callback assíncrono Tratamento de exceções em callbacks assíncronos Carregamento de imagens O problema do callback hell Carregamento assíncrono de imagens em loop

Promises

Introdução a Promises Situações excepcionais Objeto de erro Captura separada de exceções Estados de uma Promise Encadeamento de Promises Promises dentro do encadeamento Exceções em cadeias de Promises Trabalhando com arrays de Promises Criação de Promises resolvidas Promisificação de código assíncrono O problema do promise hell Promises em estilo síncrono Exceções em estilo síncrono

Bibliotecas

Introdução Utilização CDN Inconvenientes das bibliotecas

Ferramentas

Versionamento Semântico Terminal NodeJS Introdução ao npm Instalação via npm Forma abreviada de instalação Dependências no arquivo package.json Dependências de Dev Formatos de versão de dependências Configurações do arquivo package.json Criação do arquivo package.json Transferência de projeto npm Arquivo package-lock.json Atualização de pacotes Remoção de pacotes Instalação global via npm Remoção global de pacotes Ferramenta npx Execução de scripts via npm Gerenciador Yarn

Módulos ES

Introdução a módulos Ativando módulos ES Instalando Webpack Princípio de funcionamento do Webpack Configurando o Webpack Configurando a execução da build do Webpack Build de teste via Webpack Conectando o bundle à marcação Criando um módulo ES Conectando um módulo ES Renomeando na importação Importando todo o conteúdo de um módulo Exportação padrão Combinação de exportações Importando todo o conteúdo na combinação de exportações Exportando valores Valores como constantes Importando módulos npm Importação dinâmica Importação múltipla dinâmica Conversão de módulos CommonJS

Protocolo HTTP

Estudar o livro didático de HTTP URLSearchParams URL

Servidor de Teste

Introdução Utilização Execução de Código Geração de HTML Cabeçalhos de Resposta Configuração de Porta Lançamento Múltiplo

Formulários

Envio de formulários Métodos de envio de formulários Envio de formulários com método GET Envio de formulários com método POST Requisições GET Aplicação de requisições GET Botões do formulário Envio de formulários via JavaScript Impedir o envio do formulário Introdução ao FormData Métodos do FormData Iteradores do FormData

AJAX

Introdução ao AJAX Fundamentos do fetch Código de resposta HTTP Sucesso da requisição Situações excepcionais Captura completa de erros Cabeçalhos de resposta HTTP Obtendo JSON Cabeçalhos de requisição HTTP Requisições GET Requisições POST Dados via URLSearchParams Dados via FormData Envio de formulário completo Enviando JSON Política CORS Transmissão de cookies Estilo síncrono

Trabalhando com Canvas

Introdução Desenhando linhas Desenhando retângulos Desenhando círculos Mudando a cor da linha Mudando a espessura das linhas Laços

Otimização de Código

Fatores de velocidade de carregamento do site Recursos disponíveis Otimização de operações repetitivas Otimização de repetição de operações pesadas Otimização de operações em loop Otimização de passagens de loop desnecessárias Otimização através de funções incorporadas Escolha do algoritmo ideal Otimização do uso de expressões regulares Otimização da manipulação do DOM Otimização do consumo de memória Otimização da conversão para array Otimização de manipuladores de eventos Otimização de velocidade em detrimento da memória

Dados

Imutabilidade Cópia de array Cópia de objeto Adição de elementos em um array Remoção de elementos de um array Alteração de elementos de arrays Array de objetos Geração de id aleatório Adição de elemento com id Remoção de elemento por id Alteração de elemento por id Alteração de uma propriedade por id Obtenção de elemento por id
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar