Що покаже setTimeout?
важливість: 5
У наведеному нижче коді заплановано виклик setTimeout
, потім виконується важкий розрахунок, на виконання якого потрібно більше 100 мс.
Коли запуститься запланована функція?
- Після циклу.
- До циклу.
- На початку циклу.
Що буде показувати alert
?
let i = 0;
setTimeout(() => alert(i), 100); // ?
// припустимо, що час виконання цієї функції > 100 мс
for(let j = 0; j < 100000000; j++) {
i++;
}
Будь-який setTimeout
запускатиметься лише після завершення поточного коду.
i
буде останнім: 100000000
.
let i = 0;
setTimeout(() => alert(i), 100); // 100000000
// припустимо, що час виконання цієї функції > 100 мс
for(let j = 0; j < 100000000; j++) {
i++;
}