|
@@ -38,8 +38,9 @@
|
|
|
|
|
|
```javascript
|
|
|
var timer = makeProfileTimer()
|
|
|
- doSomething(); //некий код, время выполнения которого мы хотим измерить с высокой точностью
|
|
|
- alert(timer()); //alert должен вывести время в микросекундах от выполнения makeProfileTimer до момента вызова timer(), т. е. измерить время выполнения doSomething
|
|
|
+ doSomething(); //некий код, время выполнения которого мы хотим измерить с высокой точностью
|
|
|
+ alert(timer()); //alert должен вывести время в микросекундах от выполнения makeProfileTimer до момента вызова timer(),
|
|
|
+ // т. е. измерить время выполнения doSomething
|
|
|
```
|
|
|
|
|
|
Используйте `performance.now()`
|
|
@@ -47,9 +48,11 @@
|
|
|
- Напишите функцию `getSaver`, которая:
|
|
|
|
|
|
```javascript
|
|
|
- var saver = getSaver(Math.random) //создает функцию-хранилище результата переданной в качестве параметра функции (Math.random в примере). На этом этапе Math.random НЕ вызывается
|
|
|
+ var saver = getSaver(Math.random) //создает функцию-хранилище результата переданной в качестве параметра функции (Math.random
|
|
|
+ // в примере). На этом этапе Math.random НЕ вызывается
|
|
|
var value1 = saver() //saver вызывает переданную в getSaver функцию, запоминает результат и возвращает его
|
|
|
- var value2 = saver() //saver в дальнейшем просто хранит результат функции, и более НЕ вызывает переданную в getSaver функцию;
|
|
|
+ var value2 = saver() //saver в дальнейшем просто хранит результат функции, и более НЕ вызывает переданную
|
|
|
+ //в getSaver функцию;
|
|
|
value1 === value2 // всегда true
|
|
|
```
|
|
|
|
|
@@ -67,5 +70,4 @@ pow5(2) // вызывает Math.pow(2,5), соотнесите с [undefined, 5
|
|
|
var zeroPrompt = myBind(prompt, window, [undefined, "0"]) //аналогично, только теперь задается "0" как текст по умолчанию в prompt, а текст приглашения пользователя задается при вызове zeroPrompt
|
|
|
var someNumber = zeroPrompt("Введите число") // вызывает prompt("Введите число","0")
|
|
|
```
|
|
|
- Массив, который идет третьим параметром определяет, какие поля должны подменяться значением по умолчанию, а какие - задаваться в последствии (undefined).
|
|
|
-
|
|
|
+ Массив, который идет третьим параметром определяет, какие поля должны подменяться значением по умолчанию, а какие - задаваться в последствии (undefined).
|