Functions are a way of hiding details about how something is done.
Hiding details is called abstraction.
Math
functions.Math.sqrt
and Math.abs
are examples of functions that are provided by Javascript that you’ve used.
You don’t have to know how to compute a square root to use Math.sqrt
.
Those details are hidden, a.k.a. abstracted.
Now you are going to start writing your own functions.
const name = ...
const name = (arg1, arg2) ...
const name = (arg1, arg2) => {
// code goes here
};
The body can contain any code.
For functions that return values, it must contain a return
statement.
A return
statement consists of the word return
followed by an expression, whose value is returned from the function to whatever code called it.
Here’s a function named add
that takes two arguments and returns their sum:
const add = (a, b) => {
return a + b;
};
For simple functions, the whole function body may be just be a return
statement.
A function to draw a triangle:
const drawTriangle = (x1, y1, x2, y2, x3, y3, color, width) => {
drawLine(x1, y1, x2, y2, color, width);
drawLine(x2, y2, x3, y3, color, width);
drawLine(x3, y3, x1, y1, color, width);
};
Note, no return
statement since this function doesn’t return a value.
There’s another way of writing functions that some of you are familiar with already:
function add(a, b) {
return a + b;
}
This is an older style. It is not as bad as using var
to define variables but modern Javascript style prefers the syntax I gave earlier.
I’m going to ask you to use the modern style in this class.