--- sidebar_position: 1 --- # Общая информация #### Function Declaration: функция в основном потоке кода ```js function sum(a, b) { let result = a + b; return result; } ``` #### Function Expression: функция как часть выражения ```js let sum = function(a, b) { let result = a + b; return result; }; ``` #### Стрелочные функции: ```js // выражение в правой части let sum = (a, b) => a + b; // многострочный код в фигурных скобках { ... }, здесь нужен return: let sum = (a, b) => { // ... return a + b; } // без аргументов let sayHi = () => alert("Привет"); // с одним аргументом let double = n => n * 2; ``` - У функций могут быть локальные переменные: т.е. объявленные в теле функции. Такие переменные видимы только внутри функции. - У параметров могут быть значения по умолчанию: function sum(a = 1, b = 2) \{...\}. - Функции всегда что-нибудь возвращают. Если нет оператора return, результатом будет undefined.