Cosa mostrerà setTimeout?
importanza: 5
Nel codice qui sotto è pianificata una chiamata con setTimeout
, poi viene eseguito un calcolo pesante, che richiede più di 100ms per essere completato.
Quando verrà eseguita la funzione pianificata?
- Dopo il loop.
- Prima del loop.
- All’inizio del loop.
Cosa mostrerà l’alert
?
let i = 0;
setTimeout(() => alert(i), 100); // ?
// ipotizza che il tempo necessario a eseguire questa funzione sia >100ms
for(let j = 0; j < 100000000; j++) {
i++;
}
Ogni setTimeout
verrà eseguito solo dopo che il codice corrente è completo.
La i
sarà l’ultimo: 100000000
.
let i = 0;
setTimeout(() => alert(i), 100); // 100000000
// ipotizza che il tempo necessario a eseguire questa funzione sia >100ms
for(let j = 0; j < 100000000; j++) {
i++;
}