Ivan Asmer 8 лет назад
Родитель
Сommit
60bc9a1c14
1 измененных файлов с 10 добавлено и 3 удалено
  1. 10 3
      05Functions.md

+ 10 - 3
05Functions.md

@@ -59,7 +59,7 @@ var fathername = prompt("Введите отчество","") || "Иванови
 *опционально* (не обязательно) вернув результат работы в место вызова.
 
 ### Свойства функций,
-...которые сделали её такой полезной для написания программ.
+...которые сделали её такой полезной для написания программ:
 
 #### Вызов. 
 Функция может быть вызвана любое количество раз из разных несвязанных между собой мест кода, код функции выполнится, после чего выполнение кода
@@ -79,6 +79,7 @@ console.log(callCounter);
 ourFunction()
 console.log(callCounter);
 ```
+Вызов происходит при наличии скобок после имени функции. Если скобок нет - вызов не происходит и это имеет совершенно другой смысл.
 Для входа и выхода из функции используются `F11` и `Shift-F11` в **Developer Tools** при **пошаговой отладке**
 
 #### Область видимости.
@@ -348,7 +349,9 @@ add(5,6)
 
 ### Глобальная область видимости
 
-Если переменная создается **без** `var` в *любом* месте кода, в том числе в функции, она является глобальной, т. е. видимой везде. 
+Если переменная создается **без** `var` в *любом* месте кода, в том числе в функции, она является глобальной, т. е. видимой везде.
+В ES5 это значит что любая переменная без `var` попадает в объект `window`.
+В ES6 это вызывает ошибку.
 
 ```javascript
 debugger;
@@ -368,7 +371,7 @@ alert(result);
 в большинстве случаев неоправдано; они нужны в-основном только для каких-то общих данных для чтения. Например `Math.PI` является глобальной переменной,
 доступной только на чтение; то есть *константой*. Ваши же переменные будут доступны и на запись, будьте аккуратны используя их.
 
-**Общее правило для новичка**: всегда ставьте `var`.
+**Общее правило**: всегда ставьте `var`.
 
 
 ### Вложенные функции и их области видимости
@@ -461,6 +464,10 @@ a = b
 a()
 ```
 
+### ООП в функциональном стиле
+
+
+
 ### Функции высшего порядка
 
 **Функциями высшего порядка** называют функции, которые оперируют другими функциями - принимают их в качестве параметров или возвращают как результат