Questão nº 38

Questão de Engenharia de Software · FCC TST 2017 (nº 38)

FCC2017Analista Judiciário - Análise de SistemasEngenharia de Software
Gabarito: Aver comentário ↓

Considere o fragmento de código JavaScript abaixo.

```javascript
if(document.p.q1[4].checked){
document.getElementById("x").innerHTML = "True";
}
```

Nesse código,

Resposta comentada

Gabarito Alternativa A

Em JavaScript, é comum acessar elementos de formulários HTML usando seus nomes, especialmente em abordagens mais antigas ou específicas para formulários.

  • (A) Correta: Nesta sintaxe document.p.q1[4].checked, p refere-se ao nome de um formulário (<form name="p">). Dentro desse formulário, q1 refere-se ao nome de um campo (<input type="radio" name="q1">). O índice [4] indica que há múltiplos campos com o mesmo nome q1 (como em um grupo de radio buttons), e estamos acessando o quinto elemento (índice 4). A propriedade .checked é usada para verificar se um radio button está selecionado.
  • (B) Incorreta: A propriedade .checked já retorna um valor booleano (true ou false). Portanto, if(document.p.q1[4].checked) é uma condição perfeitamente válida e idiomática em JavaScript. Comparar ==true é redundante e não é necessário. Armadilha da banca: Muitos iniciantes pensam que a comparação explícita ==true é sempre obrigatória, mas para valores booleanos, a própria variável já serve como condição.
  • (C) Incorreta: document.getElementById("x") seleciona um elemento pelo seu id. innerHTML = "True" define o conteúdo HTML desse elemento para a string "True". Isso não marca um checkbox como selecionado. Para marcar um checkbox, usaríamos document.getElementById("x").checked = true;.
  • (D) Incorreta: innerHTML é a propriedade correta para alterar o conteúdo de um elemento HTML específico. document.write() escreve diretamente no fluxo do documento, geralmente sobrescrevendo o conteúdo da página se usado após o carregamento, e não é o método apropriado para atualizar o conteúdo de um elemento específico.
  • (E) Incorreta: Se p fosse um id, a forma correta de acessá-lo seria document.getElementById("p"). A sintaxe document.p acessa um formulário pelo seu nome. Da mesma forma, q1 é acessado pelo nome dentro do formulário p, não pelo id. Além disso, o índice [4] implica uma coleção de elementos com o mesmo nome, o que não se aplica a ids (que devem ser únicos).

Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho