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

246
Visualizações
¿POR QUÉ en mi función de recursión se repite el código después de la condición if?
// program to count down numbers to 1 function countDown(number) { // display the number console.log(number); // decrease the number value const newNumber = number - 1; // base case if (newNumber > 0) { countDown(newNumber); } console.log(newNumber); } countDown(4); // output => 4 3 2 1 0 1 2 3

No puedo visualizar lo que sucede después de la condición if. Quiero decir que entiendo que hay un "bucle" con cuenta regresiva (nuevo número). Pero no entiendo por qué aparece el resultado 0 1 2 3. Sé que puedo poner una palabra clave else, pero me gustaría entender por qué el motor JS después de terminar la recursividad imprime cuatro veces console.log(newNumber).

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Su llamada recursiva no finaliza la ejecución de la función.

Entonces, lo que sucede es que si llama a newNumber(2) , ejecuta el primer archivo console.log, registrando 2. Luego asigna newNumber a 1. Luego ocurre su recursividad, imprimiendo 1. Dentro de la llamada recursiva, newNumber se convierte en 0, por lo que no más recursividad. . En cambio, la segunda impresión dentro de la recursividad imprime 0. Ahora su recursividad regresa, y la segunda impresión fuera de su recursividad imprime el valor actual de newNumber en la llamada no recursiva. Y eso es 1.

Entonces obtienes 2 (fuera de la recursividad) 1 (dentro) 0 (dentro) 1 (fuera)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes simplificar tu función.

 function countDown(number) { if (number > 0) { console.log(number); countDown(--number); } } countDown(4);

about 4 years ago · Juan Pablo Isaza Relatório

0

Por aquí ?

 countDown( 4 ) // program to count down numbers to 1 function countDown(num) { if (num<1) return console.log(num) countDown(--num) }

about 4 years ago · Juan Pablo Isaza 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