Вы находитесь на странице: 1из 6

Функции в JavaScript

Функция - это специальный тип объектов JavaScript, позволяющий формализовать средствами языка
определённую логику поведения и обработки данных.
Это фрагмент программного кода (подпрограмма), в большинстве случаев связанный с идентификатором,
к которому можно обратиться из другого места программы. После выполнения функции управление
возвращается обратно в точку программы, где данная функция была вызвана.
Функции позволяют не повторять один и тот же код во многих местах программы и являются основными
«строительными блоками» программ.

Виды функций JavaScript:


1. встроенные (например, alert(message), prompt(message, default), confirm(question));
2. пользовательские.

Функция :
1. должна быть соответствующим образом объявлена и определена;
2. может вызываться и принимать параметры;
3. определяет собственную (локальную) область видимости, куда входят:
• входные параметры, а также
• те переменные, которые объявляются непосредственно в теле самой функции;
4. должна возвращать некоторое значение (возможно пустое или другую функцию).

Процедура - это функция, которая возвращает пустое значение (при этом выполнение кода
процедуры непосредственно сказывается на выполнении программы).
Метод - это функция, которая является свойством объекта (класса).
СКАЧАНО С WWW.MEGASLIV.BIZ - ПРИСОЕДИНЯЙСЯ!
Функции в JS
В JavaScript любая функция - это объект, и следовательно, ею можно манипулировать как объектом, в
частности:
1. передавать как аргумент в другие функции (функции высшего порядка);
2. возвращать в качестве результата при вызове других функций (функций высшего порядка);
3. создавать анонимно;
4. присваивать в качестве значений переменных или свойств объектов.

Замечание:
Хорошим тоном в программировании является правило: одна функция – одно действие.

1. Функция должна делать одно действие, соответствующее её названию.


2. Два независимых действия обычно подразумевают две функции, даже если предполагается, что
они будут вызываться вместе (в этом случае мы можем создать третью функцию, которая будет
их вызывать).

Хранение функций в JS:


1. в переменной:
let fn = function doSomething() {...};
2. в объекте:
let obj = { doSomething : function(){...} };
3. в массиве:
let myArray = [ 1, function doSomething() {...} ];

Синтаксис объявления функций в JavaScript :


1. "function declaration" (объявление функции);
2. "function expression" (функциональное выражение).
Функции в JS

Синтаксис Function Declaration (объявление функции)


Ключевое слово function используется для определения функции при её объявлении.

Синтаксис:
function name([param1, param2, ..., paramN]) {
statements
};
где
function - ключевое слово;
name - имя функции;
paramN - список параметров в круглых скобках через запятую (может быть пустым) ;
statements - инструкции или исполняемый код функции (определение функции или «тело функции»).

Пример:
function sayHello(firstName, lastName) { // объявление функции
console.log(`Hello, ${firstName} ${lastName}`); // тело функции
}
sayHello("Alex", "NAV"); // вызов функции (Hello, Alex NAV - вывод в консоль)

Пример:
function myAction (firstNumber, lastNumber) { // объявление функции
return firstNumber*lastNumber; // тело функции
}
console.log(myAction (10, 20)); // 200
Функции в JS

Синтаксис Function Expression (функциональное выражение)


В данном случае ключевое слово function может использоваться для определения функции внутри
выражения (при этом функция может являться анонимной, т.е. может не иметь собственного
именования).
Синтаксис:
var myFunction = function [name]([param1, param2, ..., paramN]) {
statements
};
где
function - ключевое слово;
name - имя функции;
paramN - список параметров в круглых скобках через запятую (может быть пустым) ;
statements - инструкции или исполняемый код функции (определение функции или «тело функции»).

Примеры:

// Функциональное выражение, возвращающее значение с помощью оператора return


var square = function (x) {
return x * x; // возвращение результата с помощью оператора return
};
console.log(square(4)); // 16

// Процедура
let sayHi = function () {
console.log("Привет");
};
sayHi(); // Привет
Функции в JS

Особенности использования функциональных выражений (Function Expression):


1. Функциональные выражения в JavaScript не поднимаются (hoisting). Вы не можете использовать
функциональные выражения прежде, чем вы их определили (используя var).
2. Переменная, которой присвоено функциональное выражение, будет иметь свойство name,
содержащее имя функции, и которое не изменяется при переприсваивании другой переменной:
• для анонимной функции значением свойства name будет имя переменной (неявное имя);
• если имя функции задано, то будет использовано имя функции (явное имя).

Функциональные выражения в JavaScript не поднимаются:


console.log(square); // undefined (переменная square поднята со значением undefined)
console.log(square(5)); // TypeError: square is not a function
var square = function (n) {
return n * n;
};

Неявное и явное имя функции:


var foo = function () {};
foo.name; // "foo" ("неявное" имя - именование переменной, в которой хранится функция)
var foo2 = foo;
foo2.name; // "foo" (при переприсваивании имя сохраняется)
console.log(foo === foo2); // true

var bar = function baz() {};


bar.name; // "baz" (задано "явное" имя)
console.log(typeof bar); // function
console.log(bar === baz); // Uncaught ReferenceError: baz is not defined
Преобразование типов в JS

Дополнительные материалы:
1. Функции в JavaScript
2. Функции в JavaScript (developer.mozilla.org)
3. Стандартный встроенный объект Function (developer.mozilla.org)

https://flagman.top/