function

Конструктор function створює новий об'єкт Function. В JavaScript кожна функція є об'єктом Function.

Синтаксис:

function functionName([argname1 [, ...[, argnameN]]]) { functionCode }
functionName = new Function( [argname1, [... argnameN,]] functionCode);
Синтаксис стрілкової функції: (argname1, [..., argnameN]) => { functioncode }

Параметри:

FunctionName - Обов'язкове. Ім'я новоствореної функції.

argname1 ... argnameN - Необов'язково. Список аргументів функції які передаються або іншими словами параметри функції. Кожне ім'я повинне мати іншу назву.

functionCode - Необов'язково. Рядок, що містить блок коду JavaScript який буде виконуватися при виконанні функції.

Опис:

Синтаксис 1 є стандартним способом для створення нових функцій в JavaScript. Синтаксис 2 є альтернативною формою використовується для створення об'єктів функцій в явному вигляді. Також появився у ES6 спрощений синтаксис функції - стрілкові функції.

На відмінно від деяких мов програмування(Delphi, Pascal) JavaScript не має процедур а лише функції. Різниця між процедурою і функцією полягає в тому що процедура не повертає результат а функція повертає результат.

Функція у JavaScript завжди повертає результат, результатом може бути будь який тип даних. Повертається результат за допомогою оператора return. Якщо під час виконання функції результат не був повернутий тоді JavaScript автоматично повертає undefined.

Також є функції-конструктори і стрілкові функції.

Об'єкт Function

Глобальний об'єкт Function не має власних методів або властивостей, однак, оскільки він сам є функцією, він успадковує деякі методи і властивості через ланцюжок прототипів об'єкта Function.prototype.

Властивості

Методи

Приклад:

function suma(x,y) { return x+y; } alert( suma(6, 8) ); var suma= new Function('x','y', 'return x+y'); alert( suma(6,8) );

Також присвоювати змінній функцію можна наступним чином:

var s=function(x,y){return x+y;}; alert( s(4,5) ); //викликаємо функцію по назві змінної()

Приклад функції яка не повертає результат:

function suma2(x,y) { var suma=x+y; alert(suma); } alert( suma2(4,4) ); //функція повертає undefined

Виклик функції без () поверне сам код функції:

function test(){ return 'test'; }; alert( test ); //виклик функції без () alert(test());

Анонімна функція:

У JavaScript є можливість створювати анонімну функцію яка не присвоюється ніякій змінній і виконується при оголошенні.

(function(){ alert('Анонімна функція.'); })();