ЧÑо Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ 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++;
}