Chapter 5. Functions

JavaScript functions are a key part of the language, but they’re not quite what they seem. They look like they would belong in the family of statements, but actually they’re objects just like all the others we covered in the preceding chapter. You can define a function, create a new one, and even print one out.

Thanks to this functionality, you can assign a function to a variable or to an array element, or even pass one as an argument to another function call. This makes a function a very flexible and useful object, but also a confusing one for new JavaScript developers.

There are three approaches to creating functions in JavaScript: declarative/static, dynamic/anonymous, and literal. It’s important to understand the impact of each type of declaration before you use it.

Declarative Functions

The most common type of function uses the declarative/static format. This approach begins with the function keyword, followed by the function name, parentheses containing zero or more arguments, and then the function body:

function functionname (param1, param2, ..., paramn) {
   function statements
}

The curly braces around the function’s statements are a requirement, even if the function body consists of only one statement.

Unless I’m creating a new library with new objects, or defining functions on the fly based on events, this is the syntax I use most often, and the syntax I’ve been using for chapter examples in the book to this point.

The declarative function is parsed once, when ...

Get Learning JavaScript, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.