Questão nº 42
Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 42)
FGV2022Analista Técnico - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓
Analise o trecho de página Web a seguir.
<body>
<button onclick="xpto(1,2,3);xpto(0);xpto();">?</button>
<script>
function xpto() {
if (arguments.length == 0) {
text = "ERRO";
}
else {
text = "OK";
}
alert(text);
}
</script>
</body>
Tomando como referência apenas esse trecho, um clique no botão com a página carregada provoca a exibição de:
- Atrês alertas, com as mensagens “OK”, “OK” e “ERRO”; (alternativa correta)
- Btrês alertas, com as mensagens “undefined”, “undefined” e “ERRO”;
- Cum alerta apenas, com a mensagem “ERRO”;
- Dum alerta apenas, com a mensagem “OK”;
- Eum alerta apenas, com a mensagem “undefined”.
Resposta comentada
Gabarito Alternativa A
Em JavaScript, o objeto arguments dentro de uma função (não-arrow) contém todos os valores passados como argumentos para aquela função, e arguments.length indica quantos argumentos foram realmente recebidos.
- (A) Correta: Um clique no botão executa três chamadas à função
xptosequencialmente.xpto(1,2,3):arguments.lengthé3. Como3 != 0, a mensagem é "OK".xpto(0):arguments.lengthé1. Como1 != 0, a mensagem é "OK". (O valor0é um argumento válido e conta como um).xpto():arguments.lengthé0. Como0 == 0, a mensagem é "ERRO".
Portanto, serão exibidos três alertas na ordem "OK", "OK" e "ERRO".
- (B) Incorreta: A mensagem "undefined" não é gerada em nenhum dos casos, pois a lógica da função verifica o número de argumentos (
arguments.length), e não o valor de argumentos individuais que poderiam serundefined. Esta é uma armadilha comum, pois confunde a contagem de argumentos com a verificação de valores. - (C) Incorreta: O atributo
onclickexecuta três chamadas distintas à funçãoxpto, cada uma disparando umalert. - (D) Incorreta: O atributo
onclickexecuta três chamadas distintas à funçãoxpto, cada uma disparando umalert. - (E) Incorreta: O atributo
onclickexecuta três chamadas distintas à funçãoxpto, cada uma disparando umalert.
Fonte: FGV TCE-TO 2022 Analista Técnico - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.