Book description
Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers.
The 6th edition covers HTML5 and ECMAScript 5. Many chapters have been completely rewritten to bring them in line with today's best web development practices. New chapters in this edition document jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the programming language of the Web, and for current JavaScript programmers who want to master it.
"A must-have reference for expert JavaScript programmers...well-organized and detailed."
—Brendan Eich, creator of JavaScript, CTO of Mozilla
"I made a career of what I learned from JavaScript: The Definitive Guide.”
—Andrew Hedges, Tapulous
Table of contents
- JavaScript: The Definitive Guide
- Dedication
- A Note Regarding Supplemental Files
- Preface
- 1. Introduction to JavaScript
-
I. Core JavaScript
- 2. Lexical Structure
- 3. Types, Values, and Variables
-
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
- 6. Objects
- 7. Arrays
- 8. Functions
- 9. Classes and Modules
- 10. Pattern Matching with Regular Expressions
- 11. JavaScript Subsets and Extensions
- 12. Server-Side JavaScript
-
II. Client-Side JavaScript
- 13. JavaScript in Web Browsers
- 14. The Window Object
- 15. Scripting Documents
-
16. Scripting CSS
- Overview of CSS
- Important CSS Properties
- Scripting Inline Styles
- Querying Computed Styles
- Scripting CSS Classes
- Scripting Stylesheets
- 17. Handling Events
- 18. Scripted HTTP
- 19. The jQuery Library
- 20. Client-Side Storage
-
21. Scripted Media and Graphics
- Scripting Images
- Scripting Audio and Video
- SVG: Scalable Vector Graphics
-
Graphics in a <canvas>
- Drawing Lines and Filling Polygons
- Graphics Attributes
- Canvas Dimensions and Coordinates
- Coordinate System Transforms
- Drawing and Filling Curves
- Rectangles
- Colors, Transparency, Gradients, and Patterns
- Line Drawing Attributes
- Text
- Clipping
- Shadows
- Images
- Compositing
- Pixel Manipulation
- Hit Detection
- Canvas Example: Sparklines
- 22. HTML5 APIs
-
III. Core JavaScript Reference
-
I. Core JavaScript Reference
- arguments[ ]
- Arguments
- Arguments.callee
- Arguments.length
- Array
- Array.concat()
- Array.every()
- Array.filter()
- Array.forEach()
- Array.indexOf()
- Array.join()
- Array.lastIndexOf()
- Array.length
- Array.map()
- Array.pop()
- Array.push()
- Array.reduce()
- Array.reduceRight()
- Array.reverse()
- Array.shift()
- Array.slice()
- Array.some()
- Array.sort()
- Array.splice()
- Array.toLocaleString()
- Array.toString()
- Array.unshift()
- Boolean
- Boolean.toString()
- Boolean.valueOf()
- Date
- Date.getDate()
- Date.getDay()
- Date.getFullYear()
- Date.getHours()
- Date.getMilliseconds()
- Date.getMinutes()
- Date.getMonth()
- Date.getSeconds()
- Date.getTime()
- Date.getTimezoneOffset()
- Date.getUTCDate()
- Date.getUTCDay()
- Date.getUTCFullYear()
- Date.getUTCHours()
- Date.getUTCMilliseconds()
- Date.getUTCMinutes()
- Date.getUTCMonth()
- Date.getUTCSeconds()
- Date.getYear()
- Date.now()
- Date.parse()
- Date.setDate()
- Date.setFullYear()
- Date.setHours()
- Date.setMilliseconds()
- Date.setMinutes()
- Date.setMonth()
- Date.setSeconds()
- Date.setTime()
- Date.setUTCDate()
- Date.setUTCFullYear()
- Date.setUTCHours()
- Date.setUTCMilliseconds()
- Date.setUTCMinutes()
- Date.setUTCMonth()
- Date.setUTCSeconds()
- Date.setYear()
- Date.toDateString()
- Date.toGMTString()
- Date.toISOString()
- Date.toJSON
- Date.toLocaleDateString()
- Date.toLocaleString()
- Date.toLocaleTimeString()
- Date.toString()
- Date.toTimeString()
- Date.toUTCString()
- Date.UTC()
- Date.valueOf()
- decodeURI()
- decodeURIComponent()
- encodeURI()
- encodeURIComponent()
- Error
- Error.message
- Error.name
- Error.toString()
- escape()
- eval()
- EvalError
- Function
- Function.apply()
- Function.arguments[]
- Function.bind()
- Function.call()
- Function.caller
- Function.length
- Function.prototype
- Function.toString()
- Global
- Infinity
- isFinite()
- isNaN()
- JSON
- JSON.parse()
- JSON.stringify()
- Math
- Math.abs()
- Math.acos()
- Math.asin()
- Math.atan()
- Math.atan2()
- Math.ceil()
- Math.cos()
- Math.E
- Math.exp()
- Math.floor()
- Math.LN10
- Math.LN2
- Math.log()
- Math.LOG10E
- Math.LOG2E
- Math.max()
- Math.min()
- Math.PI
- Math.pow()
- Math.random()
- Math.round()
- Math.sin()
- Math.sqrt()
- Math.SQRT1_2
- Math.SQRT2
- Math.tan()
- NaN
- Number
- Number.MAX_VALUE
- Number.MIN_VALUE
- Number.NaN
- Number.NEGATIVE_INFINITY
- Number.POSITIVE_INFINITY
- Number.toExponential()
- Number.toFixed()
- Number.toLocaleString()
- Number.toPrecision()
- Number.toString()
- Number.valueOf()
- Object
- Object.constructor
- Object.create()
- Object.defineProperties()
- Object.defineProperty()
- Object.freeze()
- Object.getOwnPropertyDescriptor()
- Object.getOwnPropertyNames()
- Object.getPrototypeOf()
- Object.hasOwnProperty()
- Object.isExtensible()
- Object.isFrozen()
- Object.isPrototypeOf()
- Object.isSealed()
- Object.keys()
- Object.preventExtensions()
- Object.propertyIsEnumerable()
- Object.seal()
- Object.toLocaleString()
- Object.toString()
- Object.valueOf()
- parseFloat()
- parseInt()
- RangeError
- ReferenceError
- RegExp
- RegExp.exec()
- RegExp.global
- RegExp.ignoreCase
- RegExp.lastIndex
- RegExp.source
- RegExp.test()
- RegExp.toString()
- String
- String.charAt()
- String.charCodeAt()
- String.concat()
- String.fromCharCode()
- String.indexOf()
- String.lastIndexOf()
- String.length
- String.localeCompare()
- String.match()
- String.replace()
- String.search()
- String.slice()
- String.split()
- String.substr()
- String.substring()
- String.toLocaleLowerCase()
- String.toLocaleUpperCase()
- String.toLowerCase()
- String.toString()
- String.toUpperCase()
- String.trim()
- String.valueOf()
- SyntaxError
- TypeError
- undefined
- unescape()
- URIError
-
I. Core JavaScript Reference
-
IV. Client-Side JavaScript Reference
-
II. Client-Side JavaScript Reference
- ApplicationCache
- ArrayBuffer
- ArrayBufferView
- Attr
- Audio
- BeforeUnloadEvent
- Blob
- BlobBuilder
- Button
- Canvas
- CanvasGradient
- CanvasPattern
- CanvasRenderingContext2D
- ClientRect
- CloseEvent
- Comment
- Console
- ConsoleCommandLine
- CSS2Properties
- CSSRule
- CSSStyleDeclaration
- CSSStyleSheet
- DataTransfer
- DataView
- Document
- DocumentFragment
- DocumentType
- DOMException
- DOMImplementation
- DOMSettableTokenList
- DOMTokenList
- Element
- ErrorEvent
- Event
- EventSource
- EventTarget
- FieldSet
- File
- FileError
- FileReader
- FileReaderSync
- Form
- FormControl
- FormData
- FormValidity
- Geocoordinates
- Geolocation
- GeolocationError
- Geoposition
- HashChangeEvent
- History
- HTMLCollection
- HTMLDocument
- HTMLElement
- HTMLFormControlsCollection
- HTMLOptionsCollection
- IFrame
- Image
- ImageData
- Input
- jQuery
- KeyEvent
- Label
- Link
- Location
- MediaElement
- MediaError
- MessageChannel
- MessageEvent
- MessagePort
- Meter
- MouseEvent
- Navigator
- Node
- NodeList
- Option
- Output
- PageTransitionEvent
- PopStateEvent
- ProcessingInstruction
- Progress
- ProgressEvent
- Screen
- Script
- Select
- Storage
- StorageEvent
- Style
- Table
- TableCell
- TableRow
- TableSection
- Text
- TextArea
- TextMetrics
- TimeRanges
- TypedArray
- URL
- Video
- WebSocket
- Window
- Worker
- WorkerGlobalScope
- WorkerLocation
- WorkerNavigator
- XMLHttpRequest
- XMLHttpRequestUpload
-
II. Client-Side JavaScript Reference
- Index
- About the Author
- Colophon
- Copyright
Product information
- Title: JavaScript: The Definitive Guide, 6th Edition
- Author(s):
- Release date: May 2011
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596805524
You might also like
audiobook
The Design of Everyday Things
First, businesses discovered quality as a key competitive edge; next came science. Now, Donald A. Norman, …
book
You Don't Know JS: Up & Going
It’s easy to learn parts of JavaScript, but much harder to learn it completely—or even sufficiently—whether …
book
Full Stack Testing
Testing is a critical discipline for any organization looking to deliver high-quality software. This practical book …
book
Web Programming with HTML5, CSS, and JavaScript
Web Programming with HTML5, CSS, and JavaScript is written for the undergraduate, client-side web programming course. …