Questionário HTML: Semântica, Elementos e Tags
Questionário HTML: Semântica, Elementos e Tags: questionário interativo de 82 perguntas. Responda uma pergunta por vez e compartilhe seu...
","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora esta seja uma forma confiável de verificar se algo é um objeto, a surpresa em JavaScript é que também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o tipo de dados das variáveis em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Em JavaScript, as variáveis são dinamicamente tipadas, o que significa que seu tipo de dados é determinado em tempo de execução com base no valor que elas contêm. Isso permite que uma única variável contenha diferentes tipos de valores ao longo de seu ciclo de vida.","jawda_q_answers":[{"jawda_a_text":"As variáveis JavaScript são dinamicamente tipadas, o que significa que seu tipo de dados é determinado em tempo de execução com base no valor que elas contêm.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Todas as variáveis em JavaScript são tipos de dados de objeto.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"As variáveis em JavaScript são sempre tipos de dados de string.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"As variáveis em JavaScript são sempre tipos de dados numéricos.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é a diferença entre uma caixa de alerta e uma caixa de confirmação?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Uma caixa de alerta é usada para exibir uma mensagem ao usuário e fornece apenas um botão 'OK' para dispensá-la. Uma caixa de confirmação, por outro lado, apresenta uma mensagem junto com os botões 'OK' e 'Cancelar', permitindo que o usuário faça uma escolha que pode ser capturada pelo programa.","jawda_q_answers":[{"jawda_a_text":"Uma caixa de alerta exibe apenas um botão, que é o botão OK, enquanto uma caixa de confirmação exibe os botões OK e Cancelar.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Uma caixa de alerta permite a entrada do usuário, enquanto uma caixa de confirmação não.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Uma caixa de confirmação é usada para exibir erros, e uma caixa de alerta é para avisos.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Não há diferença funcional; elas são apenas estilizadas de forma diferente.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que são caracteres de escape em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Caracteres de escape, denotados por uma barra invertida (), são usados em JavaScript para representar caracteres especiais dentro de strings que, de outra forma, seriam interpretados literalmente ou causariam erros de sintaxe, como aspas simples, aspas duplas ou quebras de linha.","jawda_q_answers":[{"jawda_a_text":"Caracteres de escape (precedidos por uma barra invertida) são usados para representar caracteres especiais dentro de strings, como aspas simples, aspas duplas ou quebras de linha.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Caracteres de escape são usados para sair de loops em JavaScript.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Caracteres de escape são uma forma de definir variáveis globais.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Caracteres de escape são usados para comentar blocos de código.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"JavaScript tem escopo de nível de conceito?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"JavaScript usa principalmente escopo de função (para `var`) e escopo de bloco (para `let` e `const`). O termo 'escopo de nível de conceito' não é um modelo de escopo padrão ou reconhecido em JavaScript; em vez disso, o escopo é definido por funções ou blocos.","jawda_q_answers":[{"jawda_a_text":"Não, JavaScript não tem escopo de nível de conceito; ele usa principalmente escopo de função e escopo de bloco.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Sim, JavaScript tem escopo de nível de conceito, que é semelhante ao escopo global.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Apenas as versões modernas do JavaScript têm escopo de nível de conceito.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Escopo de nível de conceito é outro nome para escopo léxico em JavaScript.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são as desvantagens de usar innerHTML em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O uso de `innerHTML` pode levar a várias desvantagens, incluindo vulnerabilidades de segurança (ataques XSS), problemas de desempenho devido à reanálise e renderização de todo o conteúdo, e a perda de manipuladores de eventos existentes em elementos que são substituídos.","jawda_q_answers":[{"jawda_a_text":"As desvantagens incluem riscos de segurança (XSS), sobrecarga de desempenho devido à reanálise e a perda de manipuladores de eventos existentes em elementos substituídos.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Ele faz o código rodar mais rápido e é mais seguro do que outros métodos de manipulação do DOM.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Ele funciona apenas com conteúdo HTML estático e não pode ser usado para atualizações dinâmicas.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Ele escapa automaticamente todos os caracteres especiais, prevenindo quaisquer problemas de segurança.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Para que servem as instruções 'break' e 'continue' em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A instrução 'break' é usada para terminar um loop ou uma instrução switch, enquanto a instrução 'continue' pula a iteração atual de um loop e prossegue para a próxima.","jawda_q_answers":[{"jawda_a_text":"São usadas para verificar se uma variável é um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"São práticas empregadas por bibliotecas JavaScript para otimização de código.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Elas impõem uma análise e tratamento de erros mais rigorosos em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A instrução 'break' sai do loop atual, e 'continue' pula para a próxima iteração.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são os dois grupos básicos de tipos de dados em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Os tipos de dados JavaScript são amplamente categorizados em tipos primitivos (como number, string, boolean, null, undefined, symbol, bigint) e tipos não primitivos (ou de referência) (como objetos, arrays e funções).","jawda_q_answers":[{"jawda_a_text":"Embora 'typeof' seja uma forma confiável de verificar se algo é um objeto, a surpresa em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Tipos primitivos (por exemplo, number, string, boolean, null, undefined, symbol, bigint) e tipos não primitivos/de referência (por exemplo, objetos, arrays, funções).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o uso do operador 'typeof' em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O operador 'typeof' é um operador unário que retorna uma string indicando o tipo de seu operando não avaliado. Embora geralmente funcione bem, uma peculiaridade conhecida é que ele retorna 'object' para 'null'.","jawda_q_answers":[{"jawda_a_text":"É usado para verificar se uma variável é um objeto, mas identifica incorretamente 'null' como um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"O operador 'typeof' é usado para retornar uma descrição em string do tipo de uma variável.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma prática comum empregada por muitas bibliotecas JavaScript populares.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Ele impõe uma análise e tratamento de erros mais rigorosos ao código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais palavras-chave são usadas para lidar com exceções em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O bloco 'try...catch...finally' é usado para tratamento de exceções em JavaScript, permitindo testar um bloco de código em busca de erros, tratá-los e executar código independentemente do resultado.","jawda_q_answers":[{"jawda_a_text":"Embora 'typeof' seja uma forma confiável de verificar se algo é um objeto, a surpresa em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"'try...catch...finally' é usado para lidar com exceções em JavaScript, onde 'try' contém o código a ser monitorado, 'catch' lida com erros e 'finally' executa o código de limpeza.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual método é comumente usado para imprimir texto na tela em um navegador da web usando JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O método 'document.write()' é usado para escrever conteúdo diretamente em um documento HTML, que exibirá o texto na tela. Embora existam outros métodos (como console.log ou manipulação do DOM), document.write é uma forma direta de exibir texto no documento.","jawda_q_answers":[{"jawda_a_text":"Embora 'typeof' seja uma forma confiável de verificar se algo é um objeto, a surpresa em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"document.write('Welcome') é usado para imprimir o texto 'Welcome' na tela dentro do documento HTML.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o propósito da função `blur()` em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A função `blur()` é usada para remover o foco de um elemento HTML especificado, geralmente um campo de entrada ou um botão. Isso pode ser útil para interações de interface do usuário onde um elemento não deve mais estar ativo.","jawda_q_answers":[{"jawda_a_text":"É uma forma confiável de verificar se algo é um objeto, mas também considera nulo um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"É uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A função `blur()` é usada para remover o foco do objeto especificado.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como você pode identificar o sistema operacional da máquina cliente usando JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A propriedade `navigator.appVersion` fornece informações sobre o navegador e o sistema operacional. Embora nem sempre seja precisa para versões modernas de SO, ela pode dar uma indicação geral do sistema operacional do cliente.","jawda_q_answers":[{"jawda_a_text":"A propriedade `navigator.appVersion` é usada para encontrar o nome do sistema operacional na máquina cliente.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"É uma forma confiável de verificar se algo é um objeto, mas também considera nulo um objeto.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são os diferentes tipos de erros comumente encontrados em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Os erros de JavaScript podem ser geralmente categorizados em erros de tempo de carregamento (erros de sintaxe, problemas de rede), erros de tempo de execução (erros lógicos, erros de tipo) e erros lógicos (comportamento incorreto do programa). Compreender essas categorias ajuda na depuração e no tratamento de erros.","jawda_q_answers":[{"jawda_a_text":"É uma forma confiável de verificar se algo é um objeto, mas também considera nulo um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Existem três tipos principais de erros: erros de tempo de carregamento (por exemplo, erros de sintaxe), erros de tempo de execução (por exemplo, erros lógicos) e erros lógicos (comportamento incorreto do programa).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o uso do método `push()` em arrays JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O método `push()` é um método fundamental de array usado para adicionar um ou mais elementos ao final de um array. Ele modifica o array original e retorna o novo comprimento do array.","jawda_q_answers":[{"jawda_a_text":"O método `push()` é usado para adicionar um ou mais elementos ao final de um Array.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"É uma forma confiável de verificar se algo é um objeto, mas também considera nulo um objeto.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é a principal diferença entre JavaScript e JScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"JavaScript foi originalmente desenvolvido pela Netscape, enquanto JScript foi a implementação da Microsoft do padrão ECMAScript. Ambos são baseados na mesma especificação de linguagem principal, mas foram desenvolvidos por empresas diferentes.","jawda_q_answers":[{"jawda_a_text":"É uma forma confiável de verificar se algo é um objeto, mas também considera nulo um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Ambos são quase semelhantes, mas JavaScript foi desenvolvido pela Netscape, e JScript foi desenvolvido pela Microsoft.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como as propriedades de objeto são atribuídas em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"As propriedades de objeto podem ser atribuídas usando a notação de ponto (obj.propriedade = valor) ou a notação de colchetes (obj['propriedade'] = valor). Ambos os métodos são comumente usados dependendo do nome da propriedade e do contexto.","jawda_q_answers":[{"jawda_a_text":"As propriedades são atribuídas a objetos usando a notação de ponto (por exemplo, obj.propriedade = 12) ou a notação de colchetes (por exemplo, obj['propriedade'] = 12).","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"As propriedades são atribuídas usando a palavra-chave 'assignProperty'.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"As propriedades só podem ser atribuídas durante a criação do objeto.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"As propriedades são atribuídas usando um método 'set' especial.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é 'Strict Mode' em JavaScript e como ele pode ser ativado?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O Strict Mode é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos no seu código JavaScript em tempo de execução, ajudando a escrever um código mais seguro e robusto. Ele pode ser ativado adicionando 'use strict'; no início de um script ou de uma função.","jawda_q_answers":[{"jawda_a_text":"O Strict Mode é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos no seu código JavaScript em tempo de execução, ativado adicionando 'use strict'; no início de um script ou função.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"O Strict Mode adiciona certas compulsões ao JavaScript, tornando-o menos flexível.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"O Strict Mode é ativado por padrão em todos os navegadores modernos.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"O Strict Mode é usado principalmente para otimizar o desempenho do código.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como você obtém o status de uma caixa de seleção em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Para obter o status de uma caixa de seleção, você pode acessar sua propriedade 'checked'. Esta propriedade retorna 'true' se a caixa de seleção estiver marcada e 'false' se estiver desmarcada.","jawda_q_answers":[{"jawda_a_text":"O status pode ser obtido usando `document.getElementById('checkbox1').checked`, que retorna `true` se marcado.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"O status pode ser obtido usando `document.getElementById('checkbox1').value;`","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"O status pode ser obtido usando `document.getElementById('checkbox1').status;`","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"O status pode ser obtido usando `document.getElementById('checkbox1').getAttribute('checked');`","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como o sistema operacional (SO) da máquina cliente pode ser detectado usando JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A string 'navigator.appVersion' pode ser usada para detectar o sistema operacional na máquina cliente, pois muitas vezes contém informações sobre o SO. No entanto, é importante notar que este método pode nem sempre ser confiável ou preciso devido à falsificação de user agent ou variações nas implementações do navegador.","jawda_q_answers":[{"jawda_a_text":"A string `navigator.appVersion` pode ser usada para detectar o sistema operacional na máquina cliente.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"A propriedade `window.os` fornece acesso direto ao SO do cliente.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"JavaScript tem uma função embutida chamada `getClientOS()` para este propósito.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A propriedade `document.platform` é usada para detectar o SO do cliente.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é a diferença entre `window.onload` e `onDocumentReady`?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O evento 'window.onload' é disparado quando a página inteira foi carregada, incluindo todas as imagens, scripts e outros recursos. Em contraste, 'onDocumentReady' (frequentemente associado a bibliotecas como $(document).ready() do jQuery) é disparado assim que o DOM está pronto, o que significa que a estrutura HTML foi analisada e está disponível, mesmo que imagens ou outros recursos externos ainda estejam carregando.","jawda_q_answers":[{"jawda_a_text":"`window.onload` é disparado depois que todos os recursos da página (incluindo imagens) são carregados, enquanto `onDocumentReady` é disparado quando o DOM é analisado e está pronto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"`window.onload` é um evento específico do jQuery, enquanto `onDocumentReady` é JavaScript nativo.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Ambos `window.onload` e `onDocumentReady` servem exatamente ao mesmo propósito e são disparados ao mesmo tempo.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"`onDocumentReady` está obsoleto e não deve mais ser usado.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como funcionam os closures em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Um closure permite que uma função acesse variáveis do seu escopo externo mesmo depois que a função externa terminou de ser executada. Isso ocorre porque a função interna 'lembra' o ambiente em que foi criada.","jawda_q_answers":[{"jawda_a_text":"Um closure é uma variável declarada localmente relacionada a uma função que permanece na memória quando ela retorna.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Um closure é um tipo de objeto que armazena pares chave-valor.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Closures são usados para prevenir a poluição de variáveis globais.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Closures são uma forma de impor análise rigorosa e tratamento de erros em JavaScript.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como um valor pode ser adicionado a um array em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O método 'push()' é a forma padrão de adicionar um ou mais elementos ao final de um array e retorna o novo comprimento do array.","jawda_q_answers":[{"jawda_a_text":"Um valor pode ser adicionado a um array usando o método 'push()', por exemplo: `myArray.push(value);`","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Valores são adicionados usando o método `array.add(value)`.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"O método `array.insert(value)` é usado para adicionar valores.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A adição de valores é feita atribuindo diretamente ao próximo índice, por exemplo, `myArray[myArray.length] = value;`","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são as propriedades importantes de uma função anônima em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Uma função anônima é uma função que não tem nome. É frequentemente usada como argumento para outras funções ou como uma expressão de função invocada imediatamente (IIFE).","jawda_q_answers":[{"jawda_a_text":"Uma função que é declarada sem nenhum identificador nomeado é conhecida como função anônima.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Funções anônimas são sempre de escopo global.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Elas só podem ser usadas como manipuladores de eventos.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Funções anônimas não podem acessar variáveis de seu escopo externo.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é a diferença entre .call() e .apply() em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Ambos `.call()` e `.apply()` são usados para invocar uma função com um valor `this` especificado e argumentos. A principal diferença é como eles lidam com os argumentos: `.call()` aceita argumentos individualmente, enquanto `.apply()` aceita argumentos como um array.","jawda_q_answers":[{"jawda_a_text":"As funções .call() e .apply() são muito semelhantes em seu uso, mas .call() recebe argumentos individualmente, enquanto .apply() recebe argumentos como um array.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":".call() é usado para operações síncronas, enquanto .apply() é para operações assíncronas.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":".apply() pode mudar o contexto 'this', mas .call() não pode.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Não há diferença funcional; eles são intercambiáveis.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"JavaScript diferencia maiúsculas de minúsculas? Forneça um exemplo.","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"JavaScript é de fato sensível a maiúsculas e minúsculas, o que significa que 'variableName' e 'variablename' são tratados como dois identificadores distintos. Isso se aplica a palavras-chave, variáveis, nomes de funções e outros identificadores.","jawda_q_answers":[{"jawda_a_text":"Sim, JavaScript diferencia maiúsculas de minúsculas. Por exemplo, 'myVariable' e 'myvariable' seriam tratadas como duas variáveis diferentes.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Não, JavaScript não diferencia maiúsculas de minúsculas, então 'myVariable' e 'myvariable' se referem à mesma coisa.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"JavaScript diferencia maiúsculas de minúsculas apenas para palavras-chave, não para nomes de variáveis.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A sensibilidade a maiúsculas e minúsculas em JavaScript depende do navegador utilizado.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como um frame específico pode ser direcionado a partir de um hiperlink em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Para direcionar um frame específico a partir de um hiperlink, você usa o atributo 'target' no hiperlink e define seu valor para o nome do frame desejado. Esta é uma funcionalidade HTML padrão, não um método JavaScript direto para direcionar frames.","jawda_q_answers":[{"jawda_a_text":"Isso pode ser feito incluindo o nome do frame necessário no hiperlink usando o atributo 'target'.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Usando a propriedade 'frameName' do objeto window.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Através de uma função JavaScript que define dinamicamente o ID do frame.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"JavaScript não suporta o direcionamento direto de frames específicos a partir de hiperlinks.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é a principal diferença entre um web garden e um web farm?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Um web garden envolve múltiplos processos de trabalho rodando em um único servidor para lidar com as requisições, enquanto um web farm distribui a carga de trabalho por múltiplos servidores distintos. Ambas são estratégias para escalar aplicações web, mas diferem em sua abordagem arquitetônica.","jawda_q_answers":[{"jawda_a_text":"Um web garden usa múltiplos processos de trabalho em um único servidor, enquanto um web farm usa múltiplos servidores.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Um web garden é para conteúdo estático, e um web farm é para conteúdo dinâmico.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Um web garden é uma tecnologia obsoleta, enquanto um web farm é atual.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Não há diferença significativa; os termos são intercambiáveis.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o método para ler e escrever arquivos em JavaScript do lado do cliente?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O JavaScript padrão do lado do cliente em navegadores não suporta diretamente o acesso ao sistema de arquivos por motivos de segurança, impedindo que páginas da web leiam ou escrevam arbitrariamente arquivos na máquina local de um usuário. No entanto, JavaScript do lado do servidor (como Node.js) ou APIs de navegador específicas (como a File System Access API com permissão do usuário) podem fornecer recursos de E/S de arquivo.","jawda_q_answers":[{"jawda_a_text":"JavaScript do lado do cliente não pode ler ou escrever arquivos diretamente no sistema do usuário devido a restrições de segurança.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Usando os objetos 'FileReader' e 'FileWriter' diretamente no navegador.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Através da 'File System Access API', que é universalmente suportada em todos os navegadores.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Usando extensões JavaScript (por exemplo, no Node.js com o módulo 'fs') ou APIs de navegador específicas (como a File System Access API com permissão do usuário).","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como o DOM é utilizado em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O DOM (Document Object Model) representa a estrutura da página como uma árvore de objetos, permitindo que o JavaScript acesse e manipule o conteúdo, a estrutura e os estilos de HTML e XML dinamicamente. Isso possibilita experiências web interativas, permitindo que scripts alterem a aparência e o conteúdo da página após o carregamento.","jawda_q_answers":[{"jawda_a_text":"DOM significa Document Object Model e é responsável por como vários objetos em um documento interagem entre si, permitindo que JavaScript manipule o conteúdo e a estrutura da página web.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"DOM é uma biblioteca JavaScript para fazer requisições HTTP.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"DOM é uma tecnologia do lado do servidor para gerenciamento de banco de dados.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"DOM é usado para definir o estilo de páginas web, semelhante ao CSS.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como os manipuladores de eventos são utilizados em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Manipuladores de eventos são funções JavaScript que são executadas em resposta a eventos específicos, como interações do usuário (cliques, pressionamentos de tecla) ou ações do navegador (carregamento da página). Eles são fundamentais para criar experiências web dinâmicas e interativas, permitindo que scripts reajam à entrada do usuário e às mudanças no ambiente do navegador.","jawda_q_answers":[{"jawda_a_text":"Manipuladores de eventos são funções JavaScript que respondem a eventos (como cliques, pressionamentos de tecla, carregamento de página) para tornar as páginas web interativas.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Manipuladores de eventos são usados para definir o layout de elementos HTML.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Manipuladores de eventos são uma forma de declarar variáveis em JavaScript.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Manipuladores de eventos são principalmente para validação de dados do lado do servidor.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual é o papel dos scripts adiados (deferred) em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Scripts adiados permitem que o analisador HTML continue a processar a página enquanto o script está sendo baixado. O script então é executado depois que o documento HTML foi totalmente analisado, garantindo que o conteúdo da página seja renderizado primeiro.","jawda_q_answers":[{"jawda_a_text":"A análise do código HTML durante o carregamento da página é pausada por padrão até que o script não pare de ser executado.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Scripts adiados são executados depois que o documento HTML foi totalmente analisado, permitindo que o navegador renderize o conteúdo da página primeiro.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma maneira de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são os vários componentes funcionais em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Em JavaScript, as funções são consideradas objetos de primeira classe, o que significa que podem ser atribuídas a variáveis, passadas como argumentos e retornadas de outras funções. Essa característica é um aspecto central da programação funcional em JavaScript.","jawda_q_answers":[{"jawda_a_text":"Os diferentes componentes funcionais em JavaScript são: Funções de primeira classe: Funções em JavaScript são utilizadas como objetos de primeira classe.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora seja uma maneira confiável de verificar se é um objeto, o detalhe surpreendente em JavaScript é que também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma maneira de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como os erros são tipicamente tratados ou mostrados em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Quando o JavaScript encontra um erro, ele geralmente fornece uma mensagem de erro, muitas vezes exibida no console do desenvolvedor do navegador, para ajudar os desenvolvedores a identificar e depurar problemas. Essa saída do console é crucial para a solução de problemas.","jawda_q_answers":[{"jawda_a_text":"Embora seja uma maneira confiável de verificar se é um objeto, o detalhe surpreendente em JavaScript é que também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma maneira de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"JavaScript fornece mensagens de erro, muitas vezes visíveis no console do desenvolvedor, quando encontra um erro durante a execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é o método unshift() em arrays JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O método `unshift()` adiciona um ou mais elementos ao início de um array e retorna o novo comprimento do array, efetivamente deslocando os elementos existentes para índices maiores. Isso contrasta com `push()`, que adiciona elementos ao final.","jawda_q_answers":[{"jawda_a_text":"Embora seja uma maneira confiável de verificar se é um objeto, o detalhe surpreendente em JavaScript é que também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Este método adiciona um ou mais elementos ao início de um array, de forma semelhante a como `push()` adiciona ao final.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma maneira de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Para que são usadas as funções unescape() e escape() em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A função `escape()` codifica uma string, substituindo certos caracteres por sequências de escape hexadecimais, principalmente para transferir informações através de uma rede ou em URLs. A função `unescape()` decodifica essas sequências de volta à sua forma original.","jawda_q_answers":[{"jawda_a_text":"Embora seja uma maneira confiável de verificar se é um objeto, o detalhe surpreendente em JavaScript é que também é considerado um objeto!","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"A função `escape()` codifica uma string para transferir informações através de uma rede, enquanto `unescape()` a decodifica.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que é uma maneira de impor voluntariamente uma análise e tratamento de erros mais rigorosos em seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são os usos principais de `decodeURI()` e `encodeURI()`?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A função `encodeURI()` é usada para codificar um URI, substituindo certos caracteres por sequências de escape que representam sua codificação UTF-8. Por outro lado, `decodeURI()` decodifica um URI que foi previamente codificado por `encodeURI()` ou uma rotina similar, restaurando os caracteres originais.","jawda_q_answers":[{"jawda_a_text":"São usados para verificar se uma variável é um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"`encodeURI()` converte um URL para sua codificação hexadecimal, e `decodeURI()` reverte esse processo.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"São práticas comuns empregadas por bibliotecas JavaScript populares.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Eles codificam e decodificam Uniform Resource Identifiers (URIs) para transmissão e interpretação adequadas.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Qual função você deve usar para codificar o seguinte URL: 'my test.asp?name=ståle&car=saab'?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A função `encodeURI()` é adequada para codificar um URI inteiro, pois não codifica caracteres como '?', '=', '&', que são essenciais para a estrutura do URI. Ela lida corretamente com caracteres especiais como 'å' e espaços, tornando o URL seguro para transmissão enquanto preserva sua integridade estrutural.","jawda_q_answers":[{"jawda_a_text":"`encodeURI()`","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"`encodeURIComponent()`","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"`escape()`","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"`btoa()`","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que a seguinte declaração declara: `let arr = [[[]]]`?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A declaração `let arr = [[[]]]` declara um array tridimensional em JavaScript. Ela inicializa `arr` como um array contendo outro array, que por sua vez contém um array vazio, demonstrando estruturas de array aninhadas.","jawda_q_answers":[{"jawda_a_text":"Declara um array unidimensional.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Declara um array tridimensional.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Declara um objeto com propriedades aninhadas.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Declara uma função que retorna um array.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como JavaScript e ECMAScript estão relacionados?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"ECMAScript é a especificação padronizada que define as características e a sintaxe principais de uma linguagem de script. JavaScript é a implementação mais popular e amplamente utilizada do padrão ECMAScript, comumente usada para desenvolvimento web.","jawda_q_answers":[{"jawda_a_text":"São duas linguagens de programação completamente separadas e não relacionadas.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"ECMAScript é uma biblioteca JavaScript para recursos avançados.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"JavaScript é uma versão mais antiga do ECMAScript.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"ECMAScript é a especificação, e JavaScript é uma implementação dessa especificação.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é namespacing em JavaScript e como é usado?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Namespacing em JavaScript é uma técnica usada para agrupar funcionalidades relacionadas (variáveis, funções, objetos) sob um nome único, tipicamente um objeto. Isso ajuda a evitar colisões de nomes no escopo global e a organizar o código de forma mais eficaz, especialmente em aplicações maiores.","jawda_q_answers":[{"jawda_a_text":"É um método para verificar o tipo de uma variável.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Namespacing é usado para agrupar funções, variáveis, etc., desejadas sob um nome único para evitar a poluição do escopo global.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma prática empregada por bibliotecas JavaScript populares para otimização de desempenho.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor análise e tratamento de erros mais rigorosos em JavaScript.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como o código JavaScript pode ser escondido de navegadores mais antigos que não suportam JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Para esconder o código JavaScript de navegadores mais antigos, você pode envolver o script dentro de tags de comentário HTML. Isso faz com que navegadores mais antigos ignorem o bloco de script, enquanto navegadores modernos ainda executarão o JavaScript.","jawda_q_answers":[{"jawda_a_text":"Adicione “” antes da tag de fechamento .","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof' seja uma maneira confiável de verificar se uma variável é um objeto, o detalhe surpreendente em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como os loops são usados em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"JavaScript oferece vários tipos de loops para iterar sobre coleções de dados ou executar um bloco de código repetidamente. Os principais tipos incluem loops 'for', 'while', 'do...while' e 'for...in'/'for...of'.","jawda_q_answers":[{"jawda_a_text":"Existem principalmente quatro tipos de loops em JavaScript: for, while, do...while e for...in/for...of.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof' seja uma maneira confiável de verificar se uma variável é um objeto, o detalhe surpreendente em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são os métodos importantes de Array em JavaScript? Explique com um exemplo.","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O objeto Array em JavaScript vem com inúmeros métodos e propriedades embutidos que simplificam a manipulação e o gerenciamento de arrays para os desenvolvedores. Esses métodos permitem operações como adicionar/remover elementos, ordenar, filtrar e mapear.","jawda_q_answers":[{"jawda_a_text":"O objeto Array possui muitas propriedades e métodos (por exemplo, push, pop, map, filter, reduce) que ajudam os desenvolvedores a lidar com arrays de forma fácil e eficiente.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof' seja uma maneira confiável de verificar se uma variável é um objeto, o detalhe surpreendente em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é o Conceito OOPS em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"A Programação Orientada a Objetos (POO) em JavaScript permite estruturar o código usando objetos, classes e herança, o que ajuda a modelar situações da vida real e gerenciar aplicações complexas de forma mais eficaz do que apenas usar variáveis ou arrays.","jawda_q_answers":[{"jawda_a_text":"Muitas vezes, variáveis ou arrays não são suficientes para simular situações da vida real, então conceitos OOPS como objetos, classes e herança são usados.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof' seja uma maneira confiável de verificar se uma variável é um objeto, o detalhe surpreendente em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como você itera pelas propriedades de um objeto em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O loop 'for...in' é especificamente projetado em JavaScript para iterar sobre as propriedades enumeráveis de um objeto, permitindo que você acesse tanto os nomes das propriedades quanto seus valores correspondentes.","jawda_q_answers":[{"jawda_a_text":"O loop 'for...in' é geralmente usado para iterar pelas propriedades de um objeto.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof' seja uma maneira confiável de verificar se uma variável é um objeto, o detalhe surpreendente em JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é Teste Unitário JavaScript e quais são seus desafios?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Teste Unitário JavaScript é um método onde unidades ou componentes individuais do código JavaScript de uma página web ou aplicação são testados isoladamente. Os desafios frequentemente incluem gerenciar operações assíncronas, simular dependências e garantir uma cobertura de teste abrangente.","jawda_q_answers":[{"jawda_a_text":"Teste Unitário JavaScript é um método de teste no qual o JavaScript testa o código escrito para um módulo de página web ou aplicação web.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"É uma forma confiável de verificar se uma variável é um objeto, mas 'null' também é considerado um objeto.","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"É uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Quais são alguns frameworks importantes de Teste Unitário JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"Frameworks populares de Teste Unitário JavaScript incluem Jest, Mocha, Jasmine e QUnit. Esses frameworks fornecem ferramentas e estruturas para escrever, executar e organizar testes unitários de forma eficaz.","jawda_q_answers":[{"jawda_a_text":"QUnit.js: É conhecido como uma biblioteca de asserção de código aberto que roda em navegadores e Node.js.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof null' seja uma forma confiável de verificar se uma variável é um objeto, a surpresa no JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é o Algoritmo QuickSort em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"QuickSort é um algoritmo de ordenação eficiente, baseado em comparação, que segue a abordagem de Dividir e Conquistar. Ele funciona selecionando um elemento 'pivô' do array e particionando os outros elementos em dois sub-arrays, de acordo com serem menores ou maiores que o pivô.","jawda_q_answers":[{"jawda_a_text":"O algoritmo Quick Sort segue a abordagem de Dividir e Conquistar.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof null' seja uma forma confiável de verificar se uma variável é um objeto, a surpresa no JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"Como você usa DOM e Eventos em JavaScript?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"O Document Object Model (DOM) permite que o JavaScript interaja com a estrutura, estilo e conteúdo de uma página web. Eventos, como cliques ou pressionamentos de tecla, permitem que o JavaScript responda às interações do usuário e às mudanças dinâmicas na página, tornando as aplicações web interativas.","jawda_q_answers":[{"jawda_a_text":"Usando o DOM, o JavaScript pode realizar múltiplas tarefas, como alterar dinamicamente conteúdo, estilos e responder a eventos do usuário.","jawda_a_correct":"yes","jawda_a_points":"1"},{"jawda_a_text":"Embora 'typeof null' seja uma forma confiável de verificar se uma variável é um objeto, a surpresa no JavaScript é que 'null' também é considerado um objeto!","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"Esta é uma prática cada vez mais comum, empregada por muitas bibliotecas JavaScript populares (jQuery, Node.js, etc.).","jawda_a_correct":"","jawda_a_points":"1"},{"jawda_a_text":"A resposta curta e mais importante aqui é que 'use strict' é uma forma de impor voluntariamente uma análise e tratamento de erros mais rigorosos ao seu código JavaScript em tempo de execução.","jawda_a_correct":"","jawda_a_points":"1"}]},{"jawda_q_text":"O que é JavaScript Externo?","jawda_q_image":"","jawda_q_type":"single","jawda_q_explanation":"JavaScript Externo refere-se ao código JavaScript escrito em um arquivo .js separado e vinculado a um documento HTML usando o atributo 'src' da tag
Skip to contentDesafie sua experiência em JavaScript! Este quiz testa sua compreensão de eventos, execução de código e propriedades de objetos com 30 perguntas aleatórias. Clique em 'Iniciar Quiz' para avaliar seu nível de habilidade atual e ganhar sua classificação.

Bem-vindo ao guia de estudo complementar para o Quiz Interativo de JavaScript: Eventos, Código e Propriedades que você vê acima! Esta avaliação é meticulosamente projetada para avaliar sua compreensão prática de conceitos fundamentais de JavaScript cruciais para o desenvolvimento web front-end. Seja você um estudante procurando autoavaliar-se, um desenvolvedor preparando-se para exames de certificação ou um candidato aprimorando habilidades para entrevistas técnicas, este quiz identificará seus pontos fortes e áreas de melhoria no tratamento de eventos JavaScript, compreensão de contextos de execução de código e manipulação eficaz de propriedades de objetos.
Cada vez que você inicia o quiz, 30 perguntas são selecionadas aleatoriamente de um banco abrangente de 136 perguntas, garantindo um novo desafio a cada tentativa. Você encontrará perguntas de múltipla escolha e, ao responder, receberá feedback imediato, incluindo explicações detalhadas para respostas corretas e incorretas. Sua pontuação é calculada com base no número de respostas corretas. Não se preocupe se você não acertar na primeira tentativa; você pode refazer o quiz quantas vezes quiser para melhorar sua pontuação, explorar mais perguntas do banco e solidificar sua compreensão.
Para se destacar neste quiz, concentre-se nestes princípios centrais do JavaScript:
addEventListener(), tipos de eventos (click, submit, keydown, load, etc.) e fases de eventos (captura, alvo, borbulhamento).event.target, event.currentTarget, event.preventDefault() e event.stopPropagation().setTimeout, Promise) influenciam a ordem de execução.var, let, const e declarações de função são içadas (hoisted).let/const).this: Contexto em chamadas globais, de função, de método, de construtor e de arrow function.'use strict'.== vs. ===).typeof: Seus usos e armadilhas comuns (por exemplo, typeof null).0.1 + 0.2).| Conceito | == (Igualdade Solta) |
=== (Igualdade Estrita) |
|---|---|---|
| Comparação | Realiza coerção de tipo antes de comparar valores. | Compara valores e tipos sem coerção. |
| Exemplo | false == '0' é true |
false === '0' é false |
| Conceito | var |
let |
const |
|---|---|---|---|
| Escopo | Escopo de função | Escopo de bloco | Escopo de bloco |
| Hoisting | Hoisted e inicializado com undefined |
Hoisted, mas não inicializado (Zona Morta Temporal) | Hoisted, mas não inicializado (Zona Morta Temporal) |
| Reatribuição | Sim | Sim | Não (para valores primitivos) |
Esteja ciente dessas armadilhas comuns que frequentemente aparecem nas perguntas do quiz:
== podem ser complicadas devido às regras de conversão automática de tipo do JavaScript. Sempre considere como os valores podem ser coagidos antes da comparação.setTimeout, Promise.then() e código síncrono regular pode levar a saídas inesperadas no console. Entenda as filas de prioridade do event loop.this: O valor de this muda dependendo de como uma função é chamada. Preste muita atenção aos padrões de invocação de função.0.1 + 0.2 !== 0.3).'[object Object]'), o que pode levar à sobrescrita de propriedades.return seguidas por uma nova linha.Sua pontuação no quiz oferece uma visão imediata de sua proficiência em JavaScript:
| Faixa de Pontuação | Nível de Classificação | O Que Significa & Próximos Passos |
|---|---|---|
| 0-45 pontos | Iniciante | Você está apenas começando sua jornada! Concentre-se em revisar a sintaxe central do JavaScript, tipos de variáveis e manipulação básica de eventos. Releia a seção 'Conceitos Chave Testados' e tente o quiz novamente. |
| 46-135 pontos | Intermediário | Compreensão sólida, mas há espaço para crescer. Você entende os fundamentos, mas pode ter dificuldades com tópicos avançados como closures, contexto this ou padrões assíncronos. Analise suas respostas incorretas e aprofunde-se nessas áreas específicas. |
| 136 pontos | Especialista | Parabéns! Você tem uma compreensão abrangente e detalhada dos eventos, execução de código e propriedades do JavaScript. Você está pronto para enfrentar desafios complexos e orientar outras pessoas. Continue praticando para manter sua vantagem! |
Para maximizar sua pontuação e realmente dominar esses conceitos:
Pronto para provar sua proficiência em JavaScript? Role para cima e clique em 'Iniciar Questionário' para começar sua avaliação!
Questionário HTML: Semântica, Elementos e Tags: questionário interativo de 82 perguntas. Responda uma pergunta por vez e compartilhe seu...
Questionário de ferramentas de construção de front-end: Grunt, Online e Cassino: questionário interativo de 30 perguntas. Responda uma...
Quiz BackboneJS: Modelo, Salvar & Visualizações: quiz interativo de 57 perguntas. Responda uma pergunta por vez e compartilhe seu resultado.