назад до уроку

Що покаже setTimeout?

важливість: 5

У наведеному нижче коді заплановано виклик setTimeout, потім виконується важкий розрахунок, на виконання якого потрібно більше 100 мс.

Коли запуститься запланована функція?

  1. Після циклу.
  2. До циклу.
  3. На початку циклу.

Що буде показувати 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++;
}