Explorar o código

05 functions alpha

Ivan Asmer %!s(int64=8) %!d(string=hai) anos
pai
achega
60bc9a1c14
Modificáronse 1 ficheiros con 10 adicións e 3 borrados
  1. 10 3
      05Functions.md

+ 10 - 3
05Functions.md

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