Skip to main content
eLearner.app
Module 4 · Lesson 1 of 413/32 in the course~10 min
Module lessons (1/4)

Declaring a function

A function is a reusable piece of code that you give a name to. You call it by passing arguments, it runs its body and can return a value with return.

Classic declaration

The most common form is the function declaration:

JS
function saluta(nome) {
  return `Ciao, ${nome}!`;
}

saluta('Anna'); // 'Ciao, Anna!'
saluta('Marco'); // 'Ciao, Marco!'

Things to note:

  • nome is the parameter (a variable local to the function).
  • 'Anna' is the argument (the value passed at call time).
  • Without return, the function returns undefined.

Function expression

Functions in JS are values: they can be assigned to a variable.

JS
const quadrato = function (n) {
  return n * n;
};

quadrato(4); // 16

The two forms are almost equivalent, with one important difference:

  • function declaration is "hoisted": you can call it even before the line where it appears in the code.
  • function expression follows const/let rules: it exists only after the assignment.

No explicit return

JS
function logga(msg) {
  console.log(`[LOG] ${msg}`);
  // no return → the function returns undefined
}

const r = logga('ciao'); // prints "[LOG] ciao"
r; // undefined

Try it

Exercise#js.m4.l1.e1
Attempts: 0Loading…

Declare a function `greet(name)` that returns the string `Ciao, <name>!`. Then call it with 'Anna' and use the result as the last expression.

Loading editor…
Show hint

function greet(name) { return ... }

Solution available after 3 attempts

Review exercise

Exercise#js.m4.l1.e2
Attempts: 0Loading…

Write a function expression `double` that, given a number, returns its double. Call it with 7 as the last expression (expected 14).

Loading editor…
Show hint

const double = function (n) { return ... };

Solution available after 3 attempts