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:

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 xpto sequencialmente.
    1. xpto(1,2,3): arguments.length é 3. Como 3 != 0, a mensagem é "OK".
    2. xpto(0): arguments.length é 1. Como 1 != 0, a mensagem é "OK". (O valor 0 é um argumento válido e conta como um).
    3. xpto(): arguments.length é 0. Como 0 == 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 ser undefined. Esta é uma armadilha comum, pois confunde a contagem de argumentos com a verificação de valores.
  • (C) Incorreta: O atributo onclick executa três chamadas distintas à função xpto, cada uma disparando um alert.
  • (D) Incorreta: O atributo onclick executa três chamadas distintas à função xpto, cada uma disparando um alert.
  • (E) Incorreta: O atributo onclick executa três chamadas distintas à função xpto, cada uma disparando um alert.

Fonte: FGV TCE-TO 2022 Analista Técnico - Tecnologia da Informação (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