JavaScript: The Definitive Guide

JavaScript: The Definitive Guide

Duration: 5 days


JavaScript: The Definitive Guide provides delegates with a programmers guide to the core language and to the client-side JavaScript APIs defined by web browsers.

This course covers HTML5 and ECMAScript 5, and brings developers in line with todays best web development practices.


Delegates should have a working knowledge of HTML and CSS.


1 – Introduction to JavaScript

Core JavaScript

Client-Side JavaScript

Core JavaScript

2 – Lexical Structure

Character Set



Identifiers and Reserved Words

Optional Semicolons

3 – Types, Values, and Variables



Boolean Values

null and undefined

The Global Object

Wrapper Objects

Immutable Primitive Values and Mutable Object References

Type Conversions

Variable Declaration

Variable Scope

4 – Expressions and Operators

Primary Expressions

Object and Array Initializers

Function Definition Expressions

Property Access Expressions

Invocation Expressions

Object Creation Expressions

Operator Overview

Arithmetic Expressions

Relational Expressions

Logical Expressions

Assignment Expressions

Evaluation Expressions

Miscellaneous Operators

5 – Statements

Expression Statements

Compound and Empty Statements

Declaration Statements




Miscellaneous Statements

Summary of JavaScript Statements

6 – Objects

Creating Objects

Querying and Setting Properties

Deleting Properties

Testing Properties

Enumerating Properties

Property Getters and Setters

Property Attributes

Object Attributes

Serializing Objects

Object Methods

7 – Arrays

Creating Arrays

Reading and Writing Array Elements

Sparse Arrays

Array Length

Adding and Deleting Array Elements

Iterating Arrays

Multidimensional Arrays

Array Methods

ECMAScript 5 Array Methods

Array Type

Array-Like Objects

Strings As Arrays

8 – Functions

Defining Functions

Invoking Functions

Function Arguments and Parameters

Functions As Values

Functions As Namespaces


Function Properties, Methods, and Constructor

Functional Programming

9 – Classes and Modules

Classes and Prototypes

Classes and Constructors

Java-Style Classes in JavaScript

Augmenting Classes

Classes and Types

Object-Oriented Techniques in JavaScript


Classes in ECMAScript 5


10 – Pattern Matching with Regular Expressions

Defining Regular Expressions

String Methods for Pattern Matching

The RegExp Object

11 – JavaScript Subsets and Extensions

JavaScript Subsets

Constants and Scoped Variables

Destructuring Assignment


Shorthand Functions

Multiple Catch Clauses

E4X: ECMAScript for XML

12 – JavaScript in Web Browsers

Client-Side JavaScript

Embedding JavaScript in HTML

Execution of JavaScript Programs

Compatibility and Interoperability



Client-Side Frameworks

13 – The Window Object


Browser Location and Navigation

Browsing History

Browser and Screen Information

Dialog Boxes

Error Handling

Document Elements As Window Properties

Multiple Windows and Frames

14 – Scripting Documents

Overview of the DOM

Selecting Document Elements

Document Structure and Traversal


Element Content

Creating, Inserting, and Deleting Nodes

Example: Generating a Table of Contents

Document and Element Geometry and Scrolling

HTML Forms

Other Document Features

15 – Scripting CSS

Overview of CSS

Important CSS Properties

Scripting Inline Styles

Querying Computed Styles

Scripting CSS Classes

Scripting Stylesheets

16 – Handling Events

Types of Events

Registering Event Handlers

Event Handler Invocation

Document Load Events

Mouse Events

Mousewheel Events

Drag and Drop Events

Text Events

Keyboard Events

17 – Scripted HTTP

Using XMLHttpRequest

HTTP by <script>: JSONP

Comet with Server-Sent Events

18 – The jQuery Library

jQuery Basics

jQuery Getters and Setters

Altering Document Structure

Handling Events with jQuery

Animated Effects

Ajax with jQuery

Utility Functions

jQuery Selectors and Selection Methods

Extending jQuery with Plug-ins

The jQuery UI Library

19 – Client-Side Storage

localStorage and sessionStorage


IE userData Persistence

Application Storage and Offline Webapps

20 – Scripted Media and Graphics

Scripting Images

Scripting Audio and Video

SVG: Scalable Vector Graphics

Graphics in a <canvas>

21 – HTML5 APIs


History Management

Cross-Origin Messaging

Web Workers

Typed Arrays and ArrayBuffers


The Filesystem API

Client-Side Databases

Web Sockets

Core JavaScript Reference

Client-Side JavaScript Reference