Preface
1. Introduction and First Looks
Twisted History: Specs and Implementations
Cross-Browser Incompatibility and Other Common JavaScript Myths
What You Can Do with JavaScript
First Look at JavaScript: "Hello World!"
The JavaScript Sandbox
Accessibility and JavaScript Best Practices
2. lavaScript Data Types and Variables
Identifying Variables
Scope
Simple Types
Constants: Named but Not Variables
Questions
3. Operators and Statements
Format of a JavaScript Statement
Simple Statements
Conditional Statements and Program Flow
The Conditional Operators
The Logical Operators
Advanced Statements: The Loops
Questions
4. The JavaScript Objects
The Object Constructor
The Number Object
The String Object
Regular Expressions and RegExp
Purposeful Objects: Date and Math
JavaScript Arrays
Associative Arrays: The Arrays That Aren't
Questions
5. Functions
Defining a Function: Let Me Count the Ways
Callback Functions
Functions and Recursion
Nested Functions, Function Closure, and Memory Leaks
Function As Object
Questions
6. Catching Events
The Event Handler at DOM Level 0
Questions
7. Forms and JiTVafidation
Accessing the Form
Attaching Events to Forms: Different Approaches
Selection
Radio Buttons and Checkboxes
Input Fields and JiT Regular Expressions
Questions
8. The Sandbox and Beyond: Cookies, Connectivity, and Piracy .
The Sandbox
All About Cookies
Alternative Storage Techniques
Cross-Site Scripting (XSS)
Questions
9. The Basic Browser Objects
BOM at a Glance
The window Object
Frames and Location
history, screen, and navigator
The all Collection, Inner/Outer HTML and Text, and Old and New
Documents
Something Old, Something New
Questions
10. DOM: The Document Object Model
A Tale of Two Interfaces
The DOM and Compliant Browsers
The DOM HTML API
Understanding the DOM: The Core API
The DOM Core Document Object
Element and Access in Context
Modifying the Tree
Questions
11. Creating Custom lavaScript Objects
The JavaScript Object and Prototyping
Creating Your Own Custom JavaScript Objects
Object Detection, Encapsulation, and Cross-Browser Objects
Chaining Constructors and JS Inheritance
One-Off Objects
Advanced Error-Handling Techniques (try, throw, catch)
What's New in JavaScript
Questions
12. Building Dynamic Web Pages: Adding Style to Your Script
DHTML: JavaScript, CSS, and DOM
Fonts and Text
Position and Movement
Size and Clipping
Display, Visibility, and Opacity
Questions
13. Moving Outside the Page with Ajax
14. Good News:Juicy Libraries!Amazing Web Services!Fun APls!
Appendix:Answers
Index