Chapter 5. The Built-In API

JavaScript has a small built-in API, and this chapter takes a look at pretty much all of it. There are only three global properties, nine global functions, and a handful of global objects, most of which are constructor functions. Most of the useful stuff is in the prototypes of the constructors or directly as properties of the constructors.

The Global Object

You already know about the global object, but let’s revisit it. Each JavaScript environment has a global object, something like the $GLOBALS array in PHP.

Some environments, but not all, have a global variable that refers to the global object. Browsers call it window. You can access it using this in global program code or in a function, as long as the function is not called with new and you’re not in ES5 strict mode—more on this later.

You can also think of global variables as being properties of the global object, with the only difference that you cannot delete them. Try the following in a browser:

// Create a global variable
var john = "Jo";
john;        // "Jo"
window.john; // "Jo", works as a property too

// Create a property of the global object
window.jane = "JJ";
jane;        // "JJ", works as a variable too
window.jane; // "JJ"

// Delete them
delete window.john; // false
delete window.jane; // true

john; // "Jo"
jane; // undefined

this === window; // true

Note

When you see BOM properties used with window.something, you can shorten them to just something (e.g., window.navigator is the same as navigator). Unless, ...

Get JavaScript for PHP Developers 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.