Один з спосіб оголошення функції виглядає так.
function add (x, y) {
return x + y;
}
Оголошується функція *add* з двома параметрами - *x* і *y*. Функція повертає суму цих параметрів.
Виклик функції виконується наступним чином.
add(2, 3);// 5
Якщо явно не вказувати значення, що повертається, то функція поверне *undefined*.
function lazy() {
}
lazy();//undefined
Можливо повернути будь-яке значення в результаті виклику функції, використовуючи оператор *return*. Функція негайно припиняє виконання, коли використовується оператор *return*.
function add(a, b) {
console.log('Adding', a, 'and', b);
return a + b;
console.log('Never printed');
}
console.log(add(1, 2)); //Adding 1 and 2
// 3
Оператор *return* може бути використаний для уникнення непотрібних гілок умов
function add(a, b) {
if ((typeof a != 'number') || (typeof b != 'number')) {
return NaN;
}
// else is not needed, because return causes function to exit immediately
return a + b;
}
console.log(add('a', 2));// => NaN
Функції можна викликати з будь-якою кількістю аргументів.
Якщо параметр не переданий під час виклику, йому буде присвоєно значення *undefined*.
function f(arg1, arg2, arg3) {
console.log(arg1, arg2, arg3);
}
f(1, 2);// 1, 2, undefined
Можливо перевірити, чи переданий параметр, і якщо ні, то задати йому значення за замовчуванням.
function myMin(a, b) {
if (b === undefined) {
return a;
}
return a < b ? a : b;
}
myMin(13);// 13
Під час оголошення функції необов'язкові аргументи, як правило, розміщують в кінці списку.
Найчастіше для завдання значення за замовчуванням використовують більш коротку форму з використанням оператора *або* ||.