Section 1 JavaScript essentials

Chapter 1 Introduction to web development

How a web application works

The components of a web application

How static web pages are processed

How dynamic web pages are processed

How JavaScript is used for client-side processing

What you need to know about the ECMAScript specification

The components of a JavaScript application

The HTML

The CSS

The JavaScript

The HTML skills that you need for this book

How to use the HTML5 semantic elements

How to use the div and span elements

How to use the basic HTML attributes

The CSS skills that you need for this book

How to provide the CSS styles for an HTML page

How to code the basic CSS selectors

How to code CSS style rules

How to test a JavaScript application

How to run a JavaScript application

How to find errors in your code

How to provide cross-browser compatibility

How to use Aptana to develop JavaScript applications

How to create or import a project

How to work with files

How to edit a file

How to run a JavaScript application

Chapter 2 Getting started with JavaScript

How to include JavaScript in an HTML document

Two ways to include JavaScript in the head of an HTML document

How to include JavaScript in the body of an HTML document

The JavaScript syntax

How to code JavaScript statements

How to create identifiers

How to use comments

How to work with JavaScript data

The primitive data types

How to declare and assign values to variables

How to code arithmetic expressions

How to use arithmetic expressions in assignment statements

How to concatenate strings and include special characters in strings

How to use objects, methods, and properties

Introduction to objects, methods, and properties

How to use the parseInt() and parseFloat() methods of the window object

How to use the write() and writeln() methods of the document object

Two illustrative applications

The Miles Per Gallon application

The Test Scores application

Chapter 3 The essential JavaScript statements

How to code conditional expressions

How to use the relational operators

How to use the logical operators

How to code the basic control statements

How to code if statements

How to code while and do-while loops

How to code for loops

Three illustrative applications

The enhanced Miles Per Gallon application

The Future Value application

The enhanced Test Scores application

How to work with arrays

How to create and use arrays

How to use for loops to work with arrays

The Test Scores application with an array

The user interface

The JavaScript

Chapter 4 How to work with JavaScript objects, functions, and events

How to use objects to work with data

How to use the window and document objects

How to use Textbox and Number objects

How to use Date and String objects

How to use functions

How to create and call a function expression

How to create and call a function declaration

When and how to use local and global variables

When and how to use strict mode

How to handle events

How to attach an event handler to an event

How to use an onload event handler to attach other event handlers

Two illustrative applications

The Miles Per Gallon application

The Email List application

Chapter 5 How to test and debug a JavaScript application

An introduction to testing and debugging

The three types of errors that can occur

Common JavaScript errors

How to plan the test runs

How to use top-down coding and testing to simplify debugging

How to debug with Chrome’s developer tools

How to use Chrome to find errors

How to use breakpoints and step through your code

Other debugging methods

How to trace the execution of your JavaScript code

How to view the source code

When and how to validate the HTML

Chapter 6 How to script the DOM with JavaScript

DOM scripting properties and methods

DOM scripting concepts

The properties of the Node interface

The methods of the Document and Element interfaces

The properties of the DOM HTML specification

The FAQs application

The HTML and CSS

The JavaScript

How to script forms and controls

How forms work

How to script Textbox, Textarea, and Select objects

How to script Radio and Checkbox objects

How to use the methods and events for forms and controls

The Register application

The HTML and CSS

The JavaScript

How to add and remove nodes from the DOM

How to use the innerHTML property of the Element interface

How to view the changes to the DOM in Chrome

The Register application with a table

The HTML and CSS

The JavaScript

Chapter 7 How to work with links, images, and timers

How to work with links and images

How to cancel the default action of an event

How to preload images

The Image Swap application

The HTML and CSS

The JavaScript

How to use timers

How to use a one-time timer

How to use an interval timer

The Slide Show application

The HTML and CSS

The JavaScript

Section 2 jQuery essentials

Chapter 8 Get off to a fast start with jQuery

Introduction to jQuery

What jQuery is

How jQuery can simplify JavaScript development

The basics of jQuery programming

How to include jQuery in your web pages

How to code jQuery selectors

How to call jQuery methods

How to use jQuery event methods

The Email List application in jQuery

The user interface and HTML

The jQuery

A working subset of selectors, methods, and event methods

The most useful selectors

The most useful methods

The most useful event methods

Other event methods that you should be aware of

Three illustrative applications

The FAQs application in jQuery

The Image Swap application in jQuery

The Image Rollover application in jQuery

Chapter 9 How to use effects and animations

How to use effects

The jQuery methods for effects

The FAQs application with jQuery effects

A Slide Show application with effects

The user interface, HTML, and CSS

Two ways to code the jQuery

How to stop and start a slide show

How to use animation

How to use the basic syntax of the animate() method

How to chain animate() methods

How to use the delay(), stop(), and finish() methods

How to use easings with effects and animations

How to use the advanced animate syntax and the methods

for working with queues

A Carousel application with animation

The user interface, HTML, and CSS

The jQuery

Chapter 10 How to work with forms and data validation

Introduction to forms and controls

How forms work

The HTML5 controls for working with forms

The HTML5 and CSS3 features for data validation

How to use jQuery to work with forms

The jQuery selectors and methods for forms

The jQuery event methods for forms

A Validation application that uses JavaScript

The user interface and HTML

Some of the JavaScript for the application

Chapter 11 How to use jQuery plugins and jQuery UI widgets

Introduction to jQuery plugins

How to find jQuery plugins

How to use any jQuery plugin

How to use three of the most popular plugins

How to use the Lightbox plugin for images

How to use the bxSlider plugin for carousels

How to use the Cycle 2 plugin for slide shows

Introduction to jQuery UI

What jQuery UI is and where to get it

How to download jQuery UI

How to include jQuery UI in your web pages

How to use any jQuery UI widget

How to use five of the most popular jQuery UI widgets

How to use the Accordion widget

How to use the Tabs widget

How to use the Button and Dialog widgets

How to use the Datepicker widget

Chapter 12 How to use Ajax, JSON, and Flickr

Introduction to Ajax

How Ajax works

Common data formats for Ajax

The members of the XMLHttpRequest object

How to use the XMLHttpRequest object

How to use the jQuery shorthand methods for Ajax

The jQuery shorthand methods for working with Ajax

How to use the load() method to load HTML data

How to use the $.get() or $.post() method to load XML data

How to use the $.getJSON() method to load JSON data

How to send data with an Ajax request

How to use the $.ajax() method for working with Ajax

The syntax of the $.ajax() method

How to use the $.ajax() method to load data

How to use Ajax with Flickr

How to use the feed API for Flickr

How to display Flickr data on a page

How to review the feed from a website

How to display descriptions for a Flickr photo feed

How to search for photos by tags

Section 3 Advanced JavaScript skills

Chapter 13 How to work with numbers, strings, and dates

How to work with numbers

How to use the properties and methods of the Number object

How to use the properties and methods of the Math object

How to generate a random number

The PIG application

The HTML

The JavaScript

How to work with strings

How to use the properties and methods of the String object

Examples of working with strings

How to work with dates and times

How to create Date objects

The methods of the Date object

Examples of working with dates

The Count Down application

The HTML and CSS

The JavaScript

Chapter 14 How to work with control structures, exceptions, and regular expressions

What else you need to know about control structures

How to use the equality and identity operators

How to use the break and continue statements

How to use the switch statement

How to use the conditional operator

How to use the AND and OR operators for selections

The Invoice application

The HTML

The JavaScript

How to handle exceptions

How to use try-catch statements

How to create and throw Error objects

How to use regular expressions

How to create and use regular expressions

How to match special characters and types of characters

How to match string positions, subpatterns, and repeating patterns

Regular expressions for data validation

The Account Profile application

The HTML and CSS

The JavaScript

Chapter 15 How to work with browser objects, cookies, and web storage

How to script browser objects

How to use the location object

How to use the history object

The Tutorial application

The HTML

The JavaScript

How to use cookies

An introduction to cookies

How to create cookies

How to read cookies

How to delete cookies

The Task List application

The HTML and CSS

The JavaScript

How to use web storage

How to use local and session storage

The Task List application with web storage

How to use Chrome to work with items in the browser

How to view and delete cookies

How to view, edit, and delete items in web storage

Chapter 16 How to work with arrays

How to create and use an array

How to create an array

How to add and delete array elements

How to use for loops to work with arrays

How to use for-in loops to work with arrays

How to use the methods of an Array object

Methods that accept simple parameters

Methods that accept functions as parameters

Examples of the Array methods

The Task List application

The user interface

The JavaScript

Other skills for working with arrays

How to use a String method to create an array

How to create and use an associative array

How to create and use an array of arrays

The Task List 2.0 application

The HTML

The JavaScript

Chapter 17 How to create and use your own objects

Basic skills for working with objects

How to create and use the native object types

How to create your own objects with object literals

How to extend or modify an object

How to create and use JavaScript libraries

The Miles Per Gallon application

The HTML

The JavaScript

How to create and call constructors

How to create your own object types with constructor functions

What else you should know about prototypes

The Trips application

The HTML

The JavaScript

How to create a factory function

How to use the create() method of the Object object

The Trips application with a factory function

Advanced skills for working with objects

How to use the arguments property of a Function object

How to create cascading methods

How to inherit methods from another object

How to use the this keyword

The Task List application

The HTML and CSS

The task and storage libraries

The task list library

The main JavaScript file

Chapter 18 How to create and use closures, IIFEs, the module pattern, and plugins

How to use closures

How closures work

How to use closures to create private state

How to work with the this keyword in closures

The Slide Show application

The HTML

The slide show library

The main JavaScript file

How to use immediately invoked function expressions

How to code an IIFE

How to use an IIFE to solve the closure loop problem

How to work with the module pattern

What the module pattern is

How to augment a module and use accessor properties

The Slide Show application with the module pattern

The HTML

The slide show library

The slide show enhancements library

The main JavaScript file

How to use the module pattern to create jQuery plugins

The structure of a plugin

How to code a plugin that highlights the items in a menu

How to add options to a plugin

A Blackjack application that uses a blackjack plugin

The HTML and the main JavaScript file

The deck and hand files of the blackjack plugin

The game file of the blackjack plugin

The main file of the blackjack plugin

How to compress and combine the files for a plugin