Function Scope: The Call Object

As described in Chapter 4, the body of a JavaScript function executes in a local scope that differs from the global scope. This new scope is created by adding the call object to the front of the scope chain. Since the call object is part of the scope chain, any properties of this object are accessible as variables within the body of the function. Local variables declared with the var statement are created as properties of this object; the parameters of the function are also made available as properties of the object.

In addition to local variables and parameters, the call object defines one special property named arguments. This property refers to another special object known as the Arguments object, which is discussed in the next section. Because the arguments property is a property of the call object, it has exactly the same status as local variables and function parameters. For this reason, the identifier arguments should be considered a reserved word and should not be used as a variable or parameter name.

Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.