Questão nº 40
Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 40)
Na página web que Maria está desenvolvendo, há um botão que, quando é clicado, exibe data e hora correntes.
O código que implementa essa característica corretamente é:
- A`<button id="xpto" onclick=get("xpto").innerHTML=Date()">…</button>`
- B`<button onclick="button.innerHTML=Date()">…</button>`
- C`<button onclick="this.innerHTML=Date()">…</button>` (alternativa correta)
- D`<button onclick=exhibit Date()>…</button>`
- E`<button onclick="function() return Date()">…</button>`
Resposta comentada
Gabarito Alternativa C
O conceito-chave é que, em JavaScript inline, a palavra-chave this dentro de um evento se refere ao próprio elemento HTML que disparou o evento. Assim, this.innerHTML acessa e modifica o conteúdo desse mesmo elemento, exibindo a data/hora nele.
- (A) Incorreta:
get("xpto")não é uma função válida do JavaScript para selecionar elementos; o correto seriadocument.getElementById("xpto"), e mesmo assim a sintaxe está incompleta (faltam aspas no atributoonclick). - (B) Incorreta:
buttonnão é uma variável definida no escopo; o navegador não cria automaticamente uma referência chamadabuttonpara o elemento clicado, então isso gera erro. - (C) Correta:
thisrefere-se ao próprio botão clicado, ethis.innerHTML = Date()substitui o texto interno do botão pela data e hora correntes, funcionando exatamente como pedido. - (D) Incorreta:
exhibit Date()é sintaxe inválida;exhibitnão é um comando JavaScript e a chamada de funçãoDate()precisa de parênteses e atribuição, não de espaço. - (E) Incorreta:
function() return Date()é uma declaração de função anônima sem invocação; o navegador não executa a função, apenas a define, então nada é exibido ao clicar.
Armadilha da banca na alternativa (B): Ela parece intuitiva porque "button" é o nome do elemento, mas o JavaScript não cria variáveis globais automáticas com o nome da tag. O aluno que não sabe que this é a referência correta pode achar que button funciona, caindo no erro.
Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.