|
@@ -49,18 +49,7 @@ father.addChild(daughter)
|
|
|
|
|
|
counter() // 3
|
|
|
```
|
|
|
-### Final Countdown
|
|
|
-Напишите код, который будет делать обратный ежесекундный отсчёт в консоли, используя `console.log`. Используйте **Self Invoked Function** для создания замыкания и
|
|
|
- `setTimeout` для задержки вывода. Результатом должно быть:
|
|
|
|
|
|
-```javascript
|
|
|
- 5 //пауза 1 секунда
|
|
|
- 4 //пауза 1 секунда
|
|
|
- 3 //пауза 1 секунда
|
|
|
- 2 //пауза 1 секунда
|
|
|
- 1 //пауза 1 секунда
|
|
|
- "поехали!"
|
|
|
-```
|
|
|
|
|
|
### makeProfileTimer
|
|
|
Напишите функцию `makeProfileTimer`, которая служит для замера времени выполнения другого кода и работает следующим образом:
|
|
@@ -89,6 +78,19 @@ father.addChild(daughter)
|
|
|
0. Навсегда сохраняет результат функции. Это актуально, например, для `Math.random`.
|
|
|
1. Действует *лениво*, то есть вызывает `Math.random` только тогда, когда результат *действительно* нужен. Если же по каким-то причинам значение не понадобится, то `Math.random` даже не будет вызыван
|
|
|
|
|
|
+### Final Countdown
|
|
|
+Напишите код, который будет делать обратный ежесекундный отсчёт в консоли, используя `console.log`. Используйте **Self Invoked Function** для создания замыкания и
|
|
|
+ `setTimeout` для задержки вывода. Результатом должно быть:
|
|
|
+
|
|
|
+```javascript
|
|
|
+ 5 //пауза 1 секунда
|
|
|
+ 4 //пауза 1 секунда
|
|
|
+ 3 //пауза 1 секунда
|
|
|
+ 2 //пауза 1 секунда
|
|
|
+ 1 //пауза 1 секунда
|
|
|
+ "поехали!"
|
|
|
+```
|
|
|
+
|
|
|
### myBind
|
|
|
Изучите встроенную функцию `bind`, и сделайте свою версию, которая позволит определить "значение по умолчанию" не только для первых параметров, но для любых других, например для *степени* в Math.pow:
|
|
|
|