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.

Recursion
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
Describes typed arrays.

Collections
Describes the collection objects.

Iterators and Generators
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
Describes how to construct string literals that can include embedded expressions.

Using the bind method
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.