Сборка от 17 марта 2017 г



Download 9,9 Mb.
bet206/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   202   203   204   205   206   207   208   209   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Кто быстрее?


важность: 5 Есть два бегуна:
var runner1 = new Runner(); var runner2 = new Runner();

У каждого есть метод step() , который делает шаг, увеличивая свойство steps .


Конкретный код метода step() не имеет значения, важно лишь что шаг делается не мгновенно, он требует небольшого времени.


Если запустить первого бегуна через setInterval , а второго – через вложенный setTimeout – какой сделает больше шагов за 5 секунд?


// первый? setInterval(function() {


runner1.step();
}, 15);

// или второй? setTimeout(function go() {


runner2.step(); setTimeout(go, 15);
}, 15);

setTimeout(function() { alert( runner1.steps );


alert( runner2.steps );
}, 5000);

К решению





Функция‑задержка


важность: 5

Напишите функцию delay(f, ms) , которая возвращает обёртку вокруг f , задерживающую вызов на ms миллисекунд. Например:


function f(x) { alert( x );
}

var f1000 = delay(f, 1000); var f1500 = delay(f, 1500);


f1000("тест"); // выведет "тест" через 1000 миллисекунд f1500("тест2"); // выведет "тест2" через 1500 миллисекунд


Упрощённо можно сказать, что delay возвращает "задержанный на ms " вариант f .


В примере выше у функции только один аргумент, но delay должна быть универсальной: передавать любое количество аргументов и контекст this . Открыть песочницу с тестами для задачи.


К решению



Вызов не чаще чем в N миллисекунд


важность: 5

Напишите функцию debounce(f, ms) , которая возвращает обёртку, которая передаёт вызов f не чаще, чем раз в ms миллисекунд.


«Лишние» вызовы игнорируются. Все аргументы и контекст – передаются. Например:


function f() { ... }

var f = debounce(f, 1000);


f(1); // выполнится сразу же f(2); // игнор


setTimeout( function() { f(3) }, 100); // игнор (прошло только 100 мс) setTimeout( function() { f(4) }, 1100); // выполнится


setTimeout( function() { f(5) }, 1500); // игнор

Упрощённо можно сказать, что debounce возвращает вариант f , срабатывающий не чаще чем раз в ms миллисекунд. Открыть песочницу с тестами для задачи.


К решению




Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   202   203   204   205   206   207   208   209   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish