O'Reilly logo

JavaScript for PHP Developers by Stoyan Stefanov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required