You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/15-function-expressions-arrows/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,7 +237,7 @@ let sayHi = function(name) { // (*) магии больше нет
237
237
};
238
238
```
239
239
240
-
Function Expression создаются тогда, когда выполнение доходит до них. Это случится только на строке, помеченной звёздочкой `(*)`. Слишком поздно.
240
+
Функции, объявленные при помощи Function Expression, создаются тогда, когда выполнение доходит до них. Это случится только на строке, помеченной звёздочкой `(*)`. Слишком поздно.
241
241
242
242
**Когда Function Declaration создаётся для блока кода, оно становится доступно везде внутри блока. Но не снаружи него.**
243
243
@@ -308,7 +308,7 @@ welcome(); // Ошибка: welcome is not defined
308
308
309
309
Что можно сделать, чтобы `welcome` была видима снаружи `if`?
310
310
311
-
Верным подходом будет воспользоваться Function Expression и присвоить значение `welcome` переменной, объявленной снаружи `if`, что обеспечит нам нужную видимость.
311
+
Верным подходом будет воспользоваться функцией, объявленной при помощи Function Expression, и присвоить значение `welcome` переменной, объявленной снаружи `if`, что обеспечит нам нужную видимость.
312
312
313
313
Теперь работает как ожидалось:
314
314
@@ -356,7 +356,7 @@ welcome(); // теперь всё в порядке
356
356
357
357
Ещё такие функции `functionf(…) {…}`, чуть более заметны в коде, чем `letf=function(…) {…}`. Function Declaration более распознаваемы.
358
358
359
-
...Но если Function Declaration нам не подходит по какой-то причине (мы рассмотрели это в примере выше), тогда должно быть использовано Function Expression.
359
+
...Но если Function Declaration нам не подходит по какой-то причине (мы рассмотрели это в примере выше), тогда должна быть использована функция, объявленная при помощи Function Expression.
360
360
```
361
361
362
362
@@ -464,14 +464,14 @@ alert( sum(1, 2) ); // 3
464
464
465
465
- Функции это значения. Они могут быть присвоены, скопированы или объявлены в другом месте кода.
466
466
- Если функция объявлена, как отдельная инструкция в основном потоке кода, то это Function Declaration.
467
-
- Если функция была создана, как часть выражения, то такая функция называется Function Expression.
467
+
- Если функция была создана, как часть выражения, то считается, что эта функция объявленна при помощи Function Expression.
468
468
- Function Declaration обрабатываются перед выполненеи блока кода. Они видны во всём блоке.
469
-
- Function Expression создаются, только когда поток выполнения достигает их.
469
+
-Функции, объявленные при помощи Function Expression, создаются, только когда поток выполнения достигает их.
470
470
471
471
472
472
В большинстве случаев, когда нам нужно создать фукнцию, предпочтительно использовать Function Declaration, т.к. оно видимо до своего объявления в коде. Это позволяет более гибко организовывать код, и улучшает его читаемость.
473
473
474
-
Таким образом, мы должны прибегать к Function Expression в случае, когда Function Declaration не подходят для нашей задачи. Мы рассмотрели несколько таких примеров в этой главе, и рассмотрим их ещё больше в будущем.
474
+
Таким образом, мы должны прибегать к объявлению функций при помощи Function Expression, в случае, когда синтаксис Function Declaration не подходят для нашей задачи. Мы рассмотрели несколько таких примеров в этой главе, и рассмотрим их ещё больше в будущем.
475
475
476
476
Функции-стрелки очень удобны для однострочных действий. Они бывают двух типов:
0 commit comments