Ivan Grinkin 8 years ago
parent
commit
4d85c46f1d
1 changed files with 16 additions and 11 deletions
  1. 16 11
      07ObjectsFunctionalStyleHomeWork.md

+ 16 - 11
07ObjectsFunctionalStyleHomeWork.md

@@ -1,13 +1,13 @@
 # Домашнее задание: ООП в функциональном стиле.
 
-0. Напишите конструктор класса `Person` со следующими параметрами:
+- Напишите конструктор класса `Person` со следующими параметрами:
    `name`, `surname`, `fatherName`, `age`, `sex`, `salary`, `married`, сохраняемыми в полях объекта.
-1. Напишите конструктор класса `Person` с теми же параметрами, что и в предыдущей задаче. Поля должны хранится в *замыкании*. Для задания и чтения
+- Напишите конструктор класса `Person` с теми же параметрами, что и в предыдущей задаче. Поля должны хранится в *замыкании*. Для задания и чтения
    параметров напишите набор *геттеров и сеттеров*: `getName`, `setName`, `getSurname`, `setSurname`, `getFatherName`, `setFatherName`, `getAge`, 
    `setAge`, `getSex`, `setSex`, `getSalary`, `setSalary`, `getMarried`, `setMarried`. Каждый из сеттер должен *валидировать* 
    (проверять) данные. Если данные некорректны, данные внутри замыкания не изменяются. 
    **Сеттер** всегда возвращает *текущее* значение переменной. См. [пример](http://gitlab.a-level.com.ua/gitgod/FrontendLectures/src/master/07ObjectsFunctionalStyle.md#--)
-2. Напишите функцию `makeCounter`, которая определяет переменную `counter` и возвращает другую функцию, увеличивающую `counter` каждый вызов и возвращающую её значение:
+- Напишите функцию `makeCounter`, которая определяет переменную `counter` и возвращает другую функцию, увеличивающую `counter` каждый вызов и возвращающую её значение:
 
 ```javascript
    var counter   = makeCounter()
@@ -22,20 +22,25 @@
 
    counter1() // 3
 ```
-2. Напишите код, который будет делать обратный ежесекундный отсчёт в консоли, используя `console.log`. Используйте **Self Invoked Function** для создания замыкания и 
+- Напишите код, который будет делать обратный ежесекундный отсчёт в консоли, используя `console.log`. Используйте **Self Invoked Function** для создания замыкания и 
    `setTimeout` для задержки вывода. Результатом должно быть:
-   ```
+
+```javascript
    5 //пауза 1 секунда
    4 //пауза 1 секунда
    3 //пауза 1 секунда
    2 //пауза 1 секунда
    1 //пауза 1 секунда
    поехали!
-   ```
-3. Напишите функцию `makeProfileTimer`, которая служит для замера времени выполнения другого кода и работает следующим образом:
+```
 
-   ```javascript 
+- Напишите функцию `makeProfileTimer`, которая служит для замера времени выполнения другого кода и работает следующим образом:
+
+```javascript 
    var timer = makeProfileTimer()
-   doSomething(); //некий код, время выполнения которого мы хотим замерить с высокой точностью
-   alert(timer()); //alert должен вывести время в микросекундах от выполнения makeProfileTimer до момента вызова timer(), т. е. замерить время выполнения doSomething
-   ```
+   doSomething(); //некий код, время выполнения которого мы хотим измерить с высокой точностью
+   alert(timer()); //alert должен вывести время в микросекундах от выполнения makeProfileTimer до момента вызова timer(), т. е. измерить время выполнения doSomething
+```
+    Используйте `performance.now()` 
+
+-