Questão de Programação — Linguagens de programação — FGV 2023
Programação›Linguagens de programação
Código
fg065358
Banca
FGV
Órgão
PGM - Niterói
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Considere uma página Web que exibe somente um botão. Quando essa página é carregada, ou o botão é clicado, a data corrente é exibida.O trecho de um script que implementa corretamente essa lógica é:
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Eventos HTML e JavaScript: onload e onclick
Gabarito: letra D. A alternativa D é a única que implementa corretamente a lógica: ao carregar a página, o evento onload no elemento <body> chama a função XPTO(), e ao clicar no botão, o evento onclick também chama a mesma função. A função XPTO() exibe a data atual com alert(Date()). As demais alternativas apresentam erros de sintaxe ou omitem o evento de carregamento da página.
A questão testa o conhecimento sobre atributos de eventos HTML e declaração de funções JavaScript. O evento onload deve estar no elemento <body> (ou no <window>), enquanto onclick deve estar no botão. Ambos devem apontar para uma função definida no script.
Alternativa A — ❌ Incorreta
O atributo onclick, onload="XPTO()" no botão é inválido. Não se pode combinar dois eventos em um único atributo HTML. Além disso, o evento de carregamento da página não está presente no <body>, e a função XPTO() chama alert() sem argumento, não exibindo a data.
Alternativa B — ❌ Incorreta
O botão possui onclick="XPTO()" corretamente, mas falta o evento onload no <body> para exibir a data ao carregar a página. A função está correta (alert(Date())), mas a lógica de exibição no carregamento não é atendida.
Alternativa C — ❌ Incorreta
Assim como em A, o atributo onload, onclick="XPTO()" é inválido. Além disso, a declaração function onload XPTO() está incorreta: a palavra onload não pode preceder o nome da função; a sintaxe correta é function XPTO(). A função também chama alert() sem argumento.
Alternativa D — ✅ Correta ⟵ GABARITO
O código está correto:
<body onload="XPTO()"> dispara a função ao carregar a página.
<button onclick="XPTO()"> dispara a função ao clicar.
A função function XPTO() {alert(Date());} exibe a data atual (o construtor Date() retorna a data como string).
Toda a sintaxe HTML e JavaScript está válida.
Alternativa E — ❌ Incorreta
A sintaxe está quebrada: a tag <body> não fecha corretamente (o atributo onload fica solto após a quebra de linha). A declaração function onload XPTO(Date()) {} é inválida — onload não pode estar entre function e o nome, e Date() não pode ser passado como parâmetro na declaração.
NÃO CAIA NESSA!
A banca explora erros comuns de sintaxe: (1) usar onload diretamente no botão, quando deveria estar no <body>; (2) declarar função com function onload XPTO(...) em vez de function XPTO(...); (3) omitir o evento onload completamente. Lembre-se: para executar código assim que a página carrega, o evento deve estar no <body> ou <window>, não no elemento que será clicado.