retour au cours

Que va afficher setTimeout ?

importance: 5

Dans le code ci-dessous il y a une exécution planifié par setTimeout, suivie par un calcul conséquent qui prend plus de 100ms à tourner.

Quand la fonction planifiée va-t-elle s’exécuter ?

  1. Après la boucle.
  2. Avant la boucle.
  3. Au début de la boucle.

Qu’est-ce que alert va afficher ?

let i = 0;

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

// on considère que cette fonction met plus de 100ms à s'exécuter
for(let j = 0; j < 100000000; j++) {
  i++;
}

setTimeout ne peut s’exécuter qu’une fois le bloc de code courant terminé.

Le i sera donc le dernier : 100000000.

let i = 0;

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

// on considère que cette fonction met plus de 100ms à s'exécuter
for(let j = 0; j < 100000000; j++) {
  i++;
}