Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

439
Visualizações
Why is Javascript returning "undefined" in Switch statement?

I'm doing a Javascript exercise to learn Switch Statement and I can't find where is the error (actually I can't understand why it's returning "undefined"). I've tried:

var myNumber = document.querySelector(".myNumber").value;

but didn't work. I've tried insert a case 0, it didn't work.

  
    var printNumber = document.getElementById("numresult").innerHTML = printNumber;
    var myNumber = document.querySelector(".myNumber").textContent;
    
    switch(myNumber) {
        case 1:
            printNumber = "You got 1";
            break;
         case 2:
            printNumber = "You got 2";
            break;           
        case 3:
            printNumber = "You got 3";
            break;
        case 4:
            printNumber = "You got 4";
            break;
        case 5:
            printNumber = "You got 5";
            break;
        case 6:
            printNumber = "You got 6";
            break;
        case 7:
            printNumber = "You got 7";
            break;
        case 8:
            printNumber = "You got 8";
            break;
        case 9:
            printNumber = "You got 9";
            break;
        default:
            printNumber = "Oops";
    }
    
<p class="myNumber">1</p>
<p id="numresult"></p>

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

You are comparing strings with numbers.

value returns a string and switch works with strict comparison ===.

Finally, you need to assign the value to the element.

document.getElementById("numresult").innerHTML = printNumber;

var printNumber,
    myNumber = +document.querySelector(".myNumber").textContent;
    //         ^ unary plus to convert string to number

switch (myNumber) {
    case 1:
        printNumber = "You got 1";
        break;
    case 2:
        printNumber = "You got 2";
        break;
    case 3:
        printNumber = "You got 3";
        break;
    case 4:
        printNumber = "You got 4";
        break;
    case 5:
        printNumber = "You got 5";
        break;
    case 6:
        printNumber = "You got 6";
        break;
    case 7:
        printNumber = "You got 7";
        break;
    case 8:
        printNumber = "You got 8";
        break;
    case 9:
        printNumber = "You got 9";
        break;
    default:
        printNumber = "Oops";
}

document.getElementById("numresult").innerHTML = printNumber;
<p class="myNumber">1</p>
<p id="numresult"></p>

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda