|
@@ -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()
|
|
|
```
|
|
|
|
|
|
+### ООП в функциональном стиле
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
### Функции высшего порядка
|
|
|
|
|
|
**Функциями высшего порядка** называют функции, которые оперируют другими функциями - принимают их в качестве параметров или возвращают как результат
|