Advanced JavaScript


These sections explain advanced JavaScript functionality, such as recursion, arrays, troubleshooting, and so on.

In This Section

Using Constructors to Create Objects

Explains how to write constructors as a way to instantiate objects.

Prototypes and Prototype Inheritance

Explains how to use prototypes to create derived objects.

Data Properties and Accessor Properties

Explains the difference between data properties and accessor properties.


Explains how JavaScript uses recursion and looping.

Variable Scope

Describes the distinction between global and local scopes.

Copying, Passing, and Comparing Data

Explains the concept of passing by value or by reference.

Using Arrays

Describes the concept of arrays in JavaScript.

Typed Arrays (JavaScript)

Describes typed arrays.

Collections (JavaScript)

Describes the collection objects.

Iterators and Generators (JavaScript)

Describes how to implement custom iterators on iterable objects.

Special Characters

Lists the characters that allow you to include in strings characters you cannot type directly.

Template Strings (JavaScript)

Describes how to construct string literals that can include embedded expressions.

Using the bind method (JavaScript)

Describes how to preserve the evaluation of the this object for functions that execute in another context.

Managing event listeners

Describes how to avoid memory leaks when using event listeners.

Troubleshooting Your Scripts

Explains how to find common script errors.

Conditional Compilation

Describes the statements that JavaScript uses compile depending on specific conditions.

Conditional Compilation Variables

Lists the variables that are available for conditional compilation.

Strict Mode

Explains the use of strict mode. Strict mode is not supported in versions of Internet Explorer earlier than Internet Explorer 10.