JavaScript
Subtitle: The Definitive Guide
By: David Flanagan
Edition: 6th Edition, Covers ECMAScript 5 & HTML5
Publisher: O’Reilly
Published: 2011
Place of publication: Beijing; Sebastopol, CA
Language: eng
Number of pages: 1078
ISBN-13: 9780596805524
Subjects: JavaScript (Computer language); JavaScript (Computer program language); Web servers; Object-oriented programming (Computer science)
Description: A revised and updated edition offers comprehensive coverage of ECMAScript 5 (the new JavaScript language standard) and also the new APIs introduced in HTML5, with chapters on functions and classes completely rewritten and updated to match current best practices and a new chapter on language extensions and subsets.
Notes: "Covers ECMAScript 5 & HTML5"--Cover.

Includes index.
Table of contents: title: Preface
pagenum: xiii; label: 1
title: Introduction to JavaScript
pagenum: 1; label: 1.1
title: Core JavaScript
pagenum: 4; label: 1.2
title: Client-Side JavaScript
pagenum: 8; label: Part I
title: Core JavaScript; label: 2
title: Lexical Structure
pagenum: 21; label: 2.1
title: Character Set
pagenum: 21; label: 2.2
title: Comments
pagenum: 23; label: 2.3
title: Literals
pagenum: 23; label: 2.4
title: Identifiers and Reserved Words
pagenum: 23; label: 2.5
title: Optional Semicolons
pagenum: 25; label: 3
title: Types, Values, and Variables
pagenum: 29; label: 3.1
title: Numbers
pagenum: 31; label: 3.2
title: Text
pagenum: 36; label: 3.3
title: Boolean Values
pagenum: 40; label: 3.4
title: null and undefined
pagenum: 41; label: 3.5
title: The Global Object
pagenum: 42; label: 3.6
title: Wrapper Objects
pagenum: 43; label: 3.7
title: Immutable Primitive Values and Mutable Object References
pagenum: 44; label: 3.8
title: Type Conversions
pagenum: 45; label: 3.9
title: Variable Declaration
pagenum: 52; label: 3.10
title: Variable Scope
pagenum: 53; label: 4
title: Expressions and Operators
pagenum: 57; label: 4.1
title: Primary Expressions
pagenum: 57; label: 4.2
title: Object and Array Initializers
pagenum: 58; label: 4.3
title: Function Definition Expressions
pagenum: 59; label: 4.4
title: Property Access Expressions
pagenum: 60; label: 4.5
title: Invocation Expressions
pagenum: 61; label: 4.6
title: Object Creation Expressions
pagenum: 61; label: 4.7
title: Operator Overview
pagenum: 62; label: 4.8
title: Arithmetic Expressions
pagenum: 66; label: 4.9
title: Relational Expressions
pagenum: 71; label: 4.10
title: Logical Expressions
pagenum: 75; label: 4.11
title: Assignment Expressions
pagenum: 77; label: 4.12
title: Evaluation Expressions
pagenum: 79; label: 4.13
title: Miscellaneous Operators
pagenum: 82; label: 5
title: Statements
pagenum: 87; label: 5.1
title: Expression Statements
pagenum: 88; label: 5.2
title: Compound and Empty Statements
pagenum: 88; label: 5.3
title: Declaration Statements
pagenum: 89; label: 5.4
title: Conditionals
pagenum: 92; label: 5.5
title: Loops
pagenum: 97; label: 5.6
title: Jumps
pagenum: 102; label: 5.7
title: Miscellaneous Statements
pagenum: 108; label: 5.8
title: Summary of JavaScript Statements
pagenum: 112; label: 6
title: Objects
pagenum: 115; label: 6.1
title: Creating Objects
pagenum: 116; label: 6.2
title: Querying and Setting Properties
pagenum: 120; label: 6.3
title: Deleting Properties
pagenum: 124; label: 6.4
title: Testing Properties
pagenum: 125; label: 6.5
title: Enumerating Properties
pagenum: 126; label: 6.6
title: Property Getters and Setters
pagenum: 128; label: 6.7
title: Property Attributes
pagenum: 131; label: 6.8
title: Object Attributes
pagenum: 135; label: 6.9
title: Serializing Objects
pagenum: 138; label: 6.10
title: Object Methods
pagenum: 138; label: 7
title: Arrays
pagenum: 141; label: 7.1
title: Creating Arrays
pagenum: 141; label: 7.2
title: Reading and Writing Array Elements
pagenum: 142; label: 7.3
title: Sparse Arrays
pagenum: 144; label: 7.4
title: Array Length
pagenum: 144; label: 7.5
title: Adding and Deleting Array Elements
pagenum: 145; label: 7.6
title: Iterating Arrays
pagenum: 146; label: 7.7
title: Multidimensional Arrays
pagenum: 148; label: 7.8
title: Array Methods
pagenum: 148; label: 7.9
title: ECMAScript 5 Array Methods
pagenum: 153; label: 7.10
title: Array Type
pagenum: 157; label: 7.11
title: Array-Like Objects
pagenum: 158; label: 7.12
title: Strings as Arrays
pagenum: 160; label: 8
title: Functions
pagenum: 163; label: 8.1
title: Defining Functions
pagenum: 164; label: 8.2
title: Invoking Functions
pagenum: 166; label: 8.3
title: Function Arguments and Parameters
pagenum: 171; label: 8.4
title: Functions as Values
pagenum: 176; label: 8.5
title: Functions as Namespaces
pagenum: 178; label: 8.6
title: Closures
pagenum: 180; label: 8.7
title: Function Properties, Methods, and Constructor
pagenum: 186; label: 8.8
title: Functional Programming
pagenum: 191; label: 9
title: Classes and Modules
pagenum: 199; label: 9.1
title: Classes and Prototypes
pagenum: 200; label: 9.2
title: Classes and Constructors
pagenum: 201; label: 9.3
title: Java-Style Classes in JavaScript
pagenum: 205; label: 9.4
title: Augmenting Classes
pagenum: 208; label: 9.5
title: Classes and Types
pagenum: 209; label: 9.6
title: Object-Oriented Techniques in JavaScript
pagenum: 215; label: 9.7
title: Subclasses
pagenum: 228; label: 9.8
title: Classes in ECMAScript 5
pagenum: 238; label: 9.9
title: Modules
pagenum: 246; label: 10
title: Pattern Matching with Regular Expressions
pagenum: 251; label: 10.1
title: Defining Regular Expressions
pagenum: 251; label: 10.2
title: String Methods for Pattern Matching
pagenum: 259; label: 10.3
title: The RegExp Object
pagenum: 261; label: 11
title: JavaScript Subsets and Extensions
pagenum: 265; label: 11.1
title: JavaScript Subsets
pagenum: 266; label: 11.2
title: Constants and Scoped Variables
pagenum: 269; label: 11.3
title: Destructuring Assignment
pagenum: 271; label: 11.4
title: Iteration
pagenum: 274; label: 11.5
title: Shorthand Functions
pagenum: 282; label: 11.6
title: Multiple Catch Clauses
pagenum: 283; label: 11.7
title: E4X: ECMAScript for XML
pagenum: 283; label: 12
title: Server-Side JavaScript
pagenum: 289; label: 12.1
title: Scripting Java with Rhino
pagenum: 289; label: 12.2
title: Asynchronous I/O with Node
pagenum: 296; label: Part II
title: Client-Side JavaScript; label: 13
title: JavaScript in Web Browsers
pagenum: 307; label: 13.1
title: Client-Side JavaScript
pagenum: 307; label: 13.2
title: Embedding JavaScript in HTML
pagenum: 311; label: 13.3
title: Execution of JavaScript Programs
pagenum: 317; label: 13.4
title: Compatibility and Interoperability
pagenum: 325; label: 13.5
title: Accessibility
pagenum: 332; label: 13.6
title: Security
pagenum: 332; label: 13.7
title: Client-Side Frameworks
pagenum: 338; label: 14
title: The Window Object
pagenum: 341; label: 14.1
title: Timers
pagenum: 341; label: 14.2
title: Browser Location and Navigation
pagenum: 343; label: 14.3
title: Browsing History
pagenum: 345; label: 14.4
title: Browser and Screen Information
pagenum: 346; label: 14.5
title: Dialog Boxes
pagenum: 348; label: 14.6
title: Error Handling
pagenum: 351; label: 14.7
title: Document Elements as Window Properties
pagenum: 351; label: 14.8
title: Multiple Windows and Frames
pagenum: 353; label: 15
title: Scripting Documents
pagenum: 361; label: 15.1
title: Overview of the DOM
pagenum: 361; label: 15.2
title: Selecting Document Elements
pagenum: 364; label: 15.3
title: Document Structure and Traversal
pagenum: 371; label: 15.4
title: Attributes
pagenum: 375; label: 15.5
title: Element Content
pagenum: 378; label: 15.6
title: Creating, Inserting, and Deleting Nodes
pagenum: 382; label: 15.7
title: Example: Generating a Table of Contents
pagenum: 387; label: 15.8
title: Document and Element Geometry and Scrolling
pagenum: 389; label: 15.9
title: HTML Forms
pagenum: 396; label: 15.10
title: Other Document Features
pagenum: 405; label: 16
title: Scripting CSS
pagenum: 413; label: 16.1
title: Overview of CSS
pagenum: 414; label: 16.2
title: Important CSS Properties
pagenum: 419; label: 16.3
title: Scripting Inline Styles
pagenum: 431; label: 16.4
title: Querying Computed Styles
pagenum: 435; label: 16.5
title: Scripting CSS Classes
pagenum: 437; label: 16.6
title: Scripting Stylesheets
pagenum: 440; label: 17
title: Handling Events
pagenum: 445; label: 17.1
title: Types of Events
pagenum: 447; label: 17.2
title: Registering Event Handlers
pagenum: 456; label: 17.3
title: Event Handler Invocation
pagenum: 460; label: 17.4
title: Document Load Events
pagenum: 465; label: 17.5
title: Mouse Events
pagenum: 466; label: 17.6
title: Mousewheel Events
pagenum: 471; label: 17.7
title: Drag and Drop Events
pagenum: 474; label: 17.8
title: Text Events
pagenum: 481; label: 17.9
title: Keyboard Events
pagenum: 484; label: 18
title: Scripted HTTP
pagenum: 491; label: 18.1
title: Using XMLHttpRequest
pagenum: 494; label: 18.2
title: HTTP by <script>: JSONP
pagenum: 513; label: 18.3
title: Comet with Server-Sent Events
pagenum: 515; label: 19
title: The jQuery Library
pagenum: 523; label: 19.1
title: jQuery Basics
pagenum: 524; label: 19.2
title: jQuery Getters and Setters
pagenum: 530; label: 19.3
title: Altering Document Structure
pagenum: 537; label: 19.4
title: Handling Events with jQuery
pagenum: 540; label: 19.5
title: Animated Effects
pagenum: 551; label: 19.6
title: Ajax with jQuery
pagenum: 558; label: 19.7
title: Utility Functions
pagenum: 571; label: 19.8
title: jQuery Selectors and Selection Methods
pagenum: 574; label: 19.9
title: Extending jQuery with Plug-ins
pagenum: 582; label: 19.10
title: The jQuery UI Library
pagenum: 585; label: 20
title: Client-Side Storage
pagenum: 587; label: 20.1
title: localStorage and sessionStorage
pagenum: 589; label: 20.2
title: Cookies
pagenum: 593; label: 20.3
title: IE userData Persistence
pagenum: 599; label: 20.4
title: Application Storage and Offline Webapps
pagenum: 601; label: 21
title: Scripted Media and Graphics
pagenum: 613; label: 21.1
title: Scripting Images
pagenum: 613; label: 21.2
title: Scripting Audio and Video
pagenum: 615; label: 21.3
title: SVG: Scalable Vector Graphics
pagenum: 622; label: 21.4
title: Graphics in a <canvas>
pagenum: 630; label: 22
title: HTML5 APIs
pagenum: 667; label: 22.1
title: Geolocation
pagenum: 668; label: 22.2
title: History Management
pagenum: 671; label: 22.3
title: Cross-Origin Messaging
pagenum: 676; label: 22.4
title: Web Workers
pagenum: 680; label: 22.5
title: Typed Arrays and ArrayBuffers
pagenum: 687; label: 22.6
title: Blobs
pagenum: 691; label: 22.7
title: The Filesystem API
pagenum: 700; label: 22.8
title: Client-Side Databases
pagenum: 705; label: 22.9
title: Web Sockets
pagenum: 712; label: Part III
title: Core JavaScript Reference
pagenum: 719; label: Part IV
title: Client-Side JavaScript Reference
pagenum: 859; title: Index
pagenum: 1019