Co zobrazí setTimeout?
důležitost: 5
V následujícím kódu je načasováno volání setTimeout, pak proběhne náročný výpočet, jehož dokončení bude trvat více než 100 ms.
Kdy se načasovaná funkce spustí?
- Po cyklu.
- Před cyklem.
- Na začátku cyklu.
Co zobrazí alert?
let i = 0;
setTimeout(() => alert(i), 100); // ?
// předpokládáme, že doba výkonu této funkce je větší než 100 ms
for(let j = 0; j < 100000000; j++) {
i++;
}
Každý setTimeout se spustí teprve po dokončení aktuálního kódu.
Proměnná i bude obsahovat poslední hodnotu: 100000000.
let i = 0;
setTimeout(() => alert(i), 100); // 100000000
// předpokládáme, že doba běhu této funkce je větší než 100 ms
for(let j = 0; j < 100000000; j++) {
i++;
}