Що покаже 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++;
}