Declare a function and call it to get a result.

function-basics A function declaration names a reusable block of code. Calling it with an argument runs the body and returns a value.

Function Basics

who
function_basics.js
Replay: real traced execution (multi-file project)
function greet(name) {
  return "Hello, " + name + "!";
}

const who = "Ada";
const message = greet(who);

console.log("message=" + message);
function greet(name) {
  return "Hello, " + name + "!";
}

const who = "Bo";
const message = greet(who);

console.log("message=" + message);
function greet(name) {
  return "Hello, " + name + "!";
}

const who = "Cy";
const message = greet(who);

console.log("message=" + message);
  1. who ← Ada

    2  return "Hello, " + name + "!";3}45const who→ Ada = "Ada"; //@who="Bo", "Cy"6const message = greet(whoAda);
  2. function greet(name)

    1function greet(nameAda) {2  return "Hello, " + name + "!";3}
  3. message ← Hello, Ada!

    5const who = "Ada"; //@who="Bo", "Cy"6const message→ Hello, Ada! = greet(whoAda);78console.log("message=" + messageHello, Ada!);
    outputmessage=Hello, Ada!
  1. who ← Bo

    2  return "Hello, " + name + "!";3}45const who→ Bo = "Bo";6const message = greet(whoBo);
  2. function greet(name)

    1function greet(nameBo) {2  return "Hello, " + name + "!";3}
  3. message ← Hello, Bo!

    5const who = "Bo";6const message→ Hello, Bo! = greet(whoBo);78console.log("message=" + messageHello, Bo!);
    outputmessage=Hello, Bo!
  1. who ← Cy

    2  return "Hello, " + name + "!";3}45const who→ Cy = "Cy";6const message = greet(whoCy);
  2. function greet(name)

    1function greet(nameCy) {2  return "Hello, " + name + "!";3}
  3. message ← Hello, Cy!

    5const who = "Cy";6const message→ Hello, Cy! = greet(whoCy);78console.log("message=" + messageHello, Cy!);
    outputmessage=Hello, Cy!