regresar a la lección

¿Qué mostrará setTimeout?

importancia: 5

En el siguiente código hay una llamada programada setTimeout, luego se ejecuta un cálculo pesado que demora más de 100 ms en finalizar.

¿Cuándo se ejecutará la función programada?

  1. Después del bucle.
  2. Antes del bucle.
  3. Al comienzo del bucle.

¿Qué va a mostrar ´alert()´?

let i = 0;

setTimeout(() => alert(i), 100); // ?

// asumimos que el tiempo para ejecutar esta función es > 100 ms
for(let j = 0; j < 100000000; j++) {
  i++;
}

Cualquier setTimeout solo se ejecutará después de que el código actual haya finalizado.

La i será la última:100000000.

let i = 0;

setTimeout(() => alert(i), 100); // 100000000

// asumimos que el tiempo para ejecutar esta función es > 100 ms
for(let j = 0; j < 100000000; j++) {
  i++;
}