Chapter 4. Functions
Mastering functions is an essential skill for the JavaScript programmer because the language has many uses for them. They perform a variety of tasks for which other languages may have special syntax.
In this chapter you will learn about the different ways to define a function in JavaScript, you will learn about function expressions and function declarations, and you will see how the local scope and the variable hoisting works. Then you will learn about a number of patterns that help your APIs (providing better interfaces to your functions), code initializations (with fewer globals), and performance (in other words—work avoidance).
Let’s dive into functions, starting by first reviewing and clarifying the important basics.
Background
There are two main features of the functions in JavaScript that make them special—the first is that functions are first-class objects and the second is that they provide scope.
Functions are objects that:
Can be created dynamically at runtime, during the execution of the program
Can be assigned to variables, can have their references copied to other variables, can be augmented, and, except for a few special cases, can be deleted
Can be passed as arguments to other functions and can also be returned by other functions
Can have their own properties and methods
So it could happen that a function A, being an object, has properties and methods, one of which happens to be another function B. Then B can accept a function C as an argument and, when ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access