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