Saltar al contenido

Seguir las llamadas

JavaScript · Unidad 11: Recursión

Cuando una función se llama a sí misma, la llamada de afuera se pone en pausa y espera a que la de adentro termine. Cada llamada tiene su propia n.

Las llamadas en espera se apilan como platos: la última en empezar es la primera en terminar. A eso se le llama la pila de llamadas.

function f(n) {
  console.log("entra " + n);
  if (n > 1) {
    f(n - 1);
  }
  console.log("sale " + n);
}
f(3);

Imprime

entra 3
entra 2
entra 1
sale 1
sale 2
sale 3

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Opción múltiple

    Se llamó a sube(3). Justo cuando sube(1) está corriendo, ¿cómo va sube(3)?

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Predice la salida

    ¿Qué imprime este código?

  5. 5. Encuentra el bug

    Este programa debería imprimir 10 (4 + 3 + 2 + 1). ¿Qué línea tiene el error?

  6. 6. Completa el código

    Completa para que imprima 1 2 3, con los números en orden.

  7. 7. Predice la salida

    Un contador de afuera cuenta cuántas veces se llamó la función. ¿Qué imprime?

  8. 8. Opción múltiple

    Cuando fact(4) llega a su caso base, ¿cuántas llamadas a fact hay en la pila al mismo tiempo?

  9. 9. Ordena las líneas

    Ordena para que imprima "Piso 1", "Piso 2" y "Piso 3", en ese orden.

  10. 10. Predice la salida

    Esta función se llama a sí misma dos veces. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →