JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides)

JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides)
By David Flanagan

List Price: $49.99
Price: $28.99 Details

Availability: Usually ships in 24 hours
Ships from and sold by

115 new or used available from $10.97

Average customer review:
(343 customer reviews)

Product 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

Product Details

  • Amazon Sales Rank: #24481 in Books
  • Brand: Brand: O'Reilly Media
  • Published on: 2011-05-13
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.19" h x 2.40" w x 7.00" l, 3.85 pounds
  • Binding: Paperback
  • 1096 pages


  • Used Book in Good Condition

Editorial Reviews

From the Author
My 10 Favorite Examples from this Book
The 6th edition of JavaScript: The Definitive Guide includes 125 examples that you can view and download from from or from
These are ten of my favorites from the book. Note that many of these use new features of ES5 or of HTML5, and will only work in the newest browsers:
1) Example 1-1 is is an extended example in the first chapter of the book, intended to show readers a simple but non-trivial example of JavaScript. This is the loan calculator example from the last edition, but made much more interesting with the addition of client-side graphics, localStorage, and Ajax.
2) Example 9-7 emulates Java-style enumerated types in JavaScript. It demonstrates that JavaScript's prototype-based inheritance is so flexible that factory methods can be normal object factories or even class factories. That example is a little clearer if you look at the code in Example 9-8.
3) Example 9-16 defines a class hierarchy of abstract and concrete Set classes. This one is a favorite because it involves data types and API design. Chapter 9 includes a number of other Set examples, too.
4) Example 9-23 demonstrates the ES5 Object.defineProperty() method and defines a convenient way to inspect and modify the attributes of the properties of an object. It may not be practical, but I think it is a beautiful hack.
5) Example 15-10 is a simple stream-like API wrapped around the innerHTML property of an element. When you're generating text (a table, for example) for display it is sometimes easier to pass each chunk that you compute to a write() method than it is to concatenate it all together and set it on innerHTML.
6) Example 21-03 is an analog clock implemented as an SVG graphic with scriptable hands. I love client-side graphics, and this is a favorite of mine because making the hands rotate is so simple with SVG transforms.
7) Example 21-06 draws a fractal Koch snowflake using the tag. I like it because it draws the same line over and over again, but uses transformations to make the line appear at different locations, orientations and sizes.
8) Example 21-13 is another graphical example: it draws sparklines ( This one is a favorite just because sparklines are so cool.
9) Example 22-1 uses the HTML5 geolocation API to find out where you are then uses the Google Maps API to obtain a static map of your location. I like it because geolocation (via wifi networks) is just pure magic!
10) Example 22-15 is a long example that demonstrates the IndexedDB API. I like it because the idea of a client-side database in a web browser is crazy and cool. This one is really cutting-edge, but if you're running Firefox 4, you can try it out here:

From the Back Cover
Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers. With more than 500,000 copies in print, web developers are still raving about 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
  • "The Definitive Guide taught me JavaScript"--Tom Robinson, cofounder of 280 North, cocreator of Cappuccino
  • "I know which parts of JavaScript matter, based on how crinkled the spine of my copy of The Definitive Guide is in that section"--J. Chris Anderson, cofounder of CoucheBase, Apache CouchDB committer, and author of CouchDB:The Definitive Guide
  • " indispensable reference for all JavaScript developers. If there's something I need to know about JavaScript, I trust The Definitive Guide will have the right answer for me. It's that good."--Rey Bango, Microsoft Client-Web Community Program Manager and jQuery Team member.

About the Author

David Flanagan is a programmer and writer with a website at His other O'Reilly books include JavaScript Pocket Reference, The Ruby Programming Language, and Java in a Nutshell. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and children in the Pacific Northwest between the cities of Seattle, Washington, and Vancouver, British Columbia.

Customer Reviews

Most helpful customer reviews

0 of 0 people found the following review helpful.
4Good reference but dry
By ExtensiveSilence
This is a good reference but I rarely pick it up. The latter part of the book is a huge index which you can find online anyway.

I didn't enjoy this book because it focused too much on the mechanics and code listings. It didn't have enough information on the background and evolution of how javascript developers have progressed in thinking over the years. For that reason, I prefer and recommend Professional JavaScript for Web Developers. Doubly so if you are a backend engineer or already are versed in at least one language.

3 of 3 people found the following review helpful.
By Timothy Bozer
I thought I had kept up with things since the last version. This book clued me in to new, simpler techniques becoming practical solutions only now - now that IE7 is so clearly on the way out.

Much of the book was re-written. There were a few issues that remained a bit elusive after reading the previous version (V5) and V6 cleared them up for me.

After studying chapter 15 on scripting documents, I stopped the press and made a number of important updates to my utilities file - streamlining functions that heavily supported IE 7. I changed a number of my websites to no longer support IE7 - this book gave me the information and courage to do so (the author did not suggest such a move, but it only made sense to me after getting myself up-to-snuff on the modern DOM). My code is now faster and leaner and much much much easier to follow (and debug if ever necessary) by using up-to-date basic dom methodologies such as:

A. Element.prototype to add some important/simple dom navigation methods to all elements (next(), previous() ..)

B. cssClass property to more easily, efficiently, and accurately deal with element classes (whereas I had a lot of code to do these functions and avoid RegExp for efficiency, now my methods simply pass cssClass with a simple RegExp as a fallback for IE8/9 which don't support cssClass. My perspective now is to NOT provide robust fallback for old IE, but only minimal anticipating users will make the jump from IE8 directly to IE 10/11 when their old PCs finally crap out (for those who use IE).

C. use of "data-" element attributes, which allow HTML to validate. I used to wrestle with confusing multiple classes to pass data so my html would validate - or I'd write special server / js scripts to attach data to elements as JS objects after the page loaded.

These examples aren't particularly the new sexy HTML5 initiatives, but without this book it might have taken me years to learn of them and to understand them enough to actually put them into play. And by the way, the book does a good job explaining the many HTML 5 initiatives - but I would first scan the pages to see if they were practical for my use and whether they were widely supported. But it's the small, detailed, practical things used in work-a-day scripting that makes this book so important to me.

I can't say this is a book for beginners only because of its length (1000+ pages) - but after learning JS on my own I wish I had read V5 of this book first as the others I read were all either somewhat outdated or too skimpy in important areas. This is really the only one that I read that goes into detail on the practical application of JS in client side scripting. It's the only JS book I use a reference.

My only criticism is that the book includes an entire chapter on jQuery (65 pages). I don't see the need for re-learning jQuery given browsers are moving along nicely toward standards compliance anyway. But the book would still weigh almost as much without the jQuery chapter.

3 of 3 people found the following review helpful.
4A Must-Read, 1,000+ page Book?! Yes!
By JALAmazon
As the subtitle indicates, this work is definitive. Be prepared to find yourself sinking or swimming right from the start, as the material gets technical from page viii and never looks back. Be advised: Flanagan is not a flowery, anecdotal writer. But he appears to be thorough. Stick with it. The payoff is enormous, as obscure concepts (for a newbie like me) discussed in the first hundred pages or so are clarified satisfactorily later on. This is not only a book about JavaScript, but also a commentary on how programming (and its language component) as a concept has evolved in reaction and relation to the internet. Coming from a Visual Basic, standalone executable perspective, I found this approach very helpful in augmenting my knowledge base.

Programming fundamentals from a JavaScript perspective are carefully explained, although some patience may be required from the reader, especially if they have little or no exposure to the C-family language. Again, stick with it; Flanagan delivers on that subtitle. And despite the claim that JavaScript, by its nature, might forever defy a true reference, there's one in here, and that was one of the reasons I decided to buy this book. In fact, there are several references inside, covering both client-side and server-side JavaScript components. Very handy. There's even a chapter on jQuery, comprehensive enough to be its own book (see: jQuery, the Pocket Reference, also by Flanagan).

Occasionally I struggle with some of the material presented, but I'm guessing that's because of my lack of exposure to anything C++, rather than the author's approach/delivery. In fact, Flanagan seems to anticipate a little struggling with concepts, and frequently (enough) slows the pace down so that dinosaurs like me can stay caught up, focused, and moving forward.

This might be a 5-starred book, but since I haven't finished it in the 30 days since purchase, it gets stuck with 4 stars for now. Nonetheless, one might ask: is David Flanagan the NEW Danny Goodman?? BUY RECOMMENDATION

See all 343 customer reviews...

Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us