LEARNING JAVASCRIPT - Trang 207

CHAPTER 13

Functions and the Power of

Abstract Thinking

If JavaScript were a Broadway play, functions would be the glittering starlet: they

would hog the spotlight and take the last bow to thunderous applause (and some

boos, no doubt: you can’t please everyone). We covered the mechanics of functions in

Chapter 6

, but now we’re going to consider the ways functions can be used, and how

they can transform your approach to solving problems.
The very concept of a function is chameleon-like: it takes on different aspects when

viewed in different contexts. The first—and simplest—perspective on functions we’re

going to consider is that of a code reuse vehicle.

Functions as Subroutines

The idea of subroutines is a very old one, a practical concession to managing com‐

plexity. Without subroutines, programming would be a very repetitive affair indeed.

Subroutines simply package some bit of repetitive functionality, give it a name, and

allow you to execute that bit of functionality at any time simply by referring to that

name.

Other names for a subroutine are procedure, routine, subprogram,

macro, and the very bland and generic callable unit. Note that in

JavaScript, we don’t actually use the word subroutine. We just call a

function a function (or a method). We’re using the term subroutine

here to emphasize this simple use of functions.

183