
Enjoy fast, FREE delivery, exclusive deals and award-winning movies & TV shows with Prime
Try Prime
and start saving today with Fast, FREE Delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$28.52$28.52
FREE delivery:
Wednesday, June 7
Ships from: Amazon Sold by: Positive Tutors
Buy used: $15.50
Other Sellers on Amazon
+ $3.99 shipping
97% positive over last 12 months
100% positive over last 12 months

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.


JavaScript: The Definitive Guide Fifth Edition
There is a newer edition of this item:
Purchase options and add-ons
This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including:
- Scripted HTTP and Ajax
- XML processing
- Client-side graphics using the canvas tag
- Namespaces in JavaScript--essential when writing complex programs
- Classes, closures, persistence, Flash, and JavaScript embedded in Java applications
Part I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language.
Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to:
- Generate a table of contents for an HTML document
- Display DHTML animations
- Automate form validation
- Draw dynamic pie charts
- Make HTML elements draggable
- Define keyboard shortcuts for web applications
- Create Ajax-enabled tool tips
- Use XPath and XSLT on XML documents loaded with Ajax
- And much more
Part III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript Version 3.
Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the canvas tag.
More than 300,000 JavaScript programmers around the world have madethis their indispensable reference book for building JavaScript applications.
"A must-have reference for expert JavaScript programmers...well-organized and detailed."
-- Brendan Eich, creator of JavaScript
- ISBN-100596101996
- ISBN-13978-0596101992
- EditionFifth
- PublisherO'Reilly Media
- Publication dateAugust 27, 2006
- LanguageEnglish
- Dimensions7 x 2.04 x 9.19 inches
- Print length1032 pages
What do customers buy after viewing this item?
- Most purchased | Highest rated | Lowest Pricein this set of productsHTML and CSS: Design and Build WebsitesPaperback
Editorial Reviews
About the Author
David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and children in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia. David has a blog at www.davidflanagan.com.
Product details
- Publisher : O'Reilly Media; Fifth edition (August 27, 2006)
- Language : English
- Paperback : 1032 pages
- ISBN-10 : 0596101996
- ISBN-13 : 978-0596101992
- Item Weight : 2.79 pounds
- Dimensions : 7 x 2.04 x 9.19 inches
- Best Sellers Rank: #1,930,308 in Books (See Top 100 in Books)
- #112 in XML Programming (Books)
- #563 in JavaScript Programming (Books)
- #967 in Object-Oriented Design
- Customer Reviews:
About the author

David Flanagan is a computer programmer who has spent much of the last 20 years writing books about programming languages. He now works at Mozilla. David lives with his wife and children in the Pacific Northwest, between the cities of Seattle and Vancouver.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The reason the various editions of this book have been so good over the last ten years is probably because they have all been written by the same author, David Flanagan, who seems to really know his audience. Part one of the book is pretty much the same as in the previous edition. It acts as a complete tutorial on the language, taking you all the way from basic language constructs into object-oriented programming and finally basic scripting.
Where things get really interesting and cutting edge is in part two of the book, "Client-Side Javascript". Most of the examples we've seen so far, while legal JavaScript code, had no particular context - they were JavaScript fragments that ran in no specified environment. Chapters 13 and 14, "Javascript in Web Browsers", and "Scripting Browser Windows" provide that context. This begins with a conceptual introduction to the web browser programming environment and basic client-side JavaScript concepts. Next, it discusses how to embed JavaScript code within HTML documents so it can run in a web browser. Finally, the chapter goes into detail about how JavaScript programs are executed in a web browser.
Next, the book turns its attention to the Document Object Model (DOM). Client-side JavaScript exists to turn static HTML documents into interactive programs. It is the Document object that gives JavaScript interactive access to the content of otherwise static documents. In addition to the properties that provide information about a document as a whole, the Document object has a number of very important properties that provide information about document content. Chapter 15 explains all of these issues.
Cascading Style Sheets (CSS) is a technology intended for use by graphic designers or anyone concerned with the precise visual display of HTML documents. It is of interest to client-side JavaScript programmers because the document object model allows the styles that are applied to the individual elements of a document to be scripted. Used together, CSS and JavaScript enable a variety of visual effects loosely referred to as Dynamic HTML (DHTML). This is the subject of chapter 16, "Cascading Style Sheets and Dynamic HTML".
Interactive JavaScript programs use an event-driven programming model. In this style of programming, the web browser generates an event whenever something interesting happens to the document or to some element of it. For example, the web browser generates an event when it finishes loading a document, when the user moves the mouse over a hyperlink, or when the user clicks on the Submit button of a form. If a JavaScript application cares about a particular type of event for a particular document element, it can register an event handler - a JavaScript function or snippet of code - for that type of event on the element of interest. Then, when that particular event occurs, the browser invokes the handler code. All applications with graphical user interfaces are designed this way: they sit around waiting for the user to do something interesting (i.e., they wait for events to occur) and then they respond. Chapter 17, "Events and Event Handling", discusses these issues.
The use of HTML forms is basic to almost all JavaScript programs. Chapter 18, "Forms and Form Elements", explains the details of programming with forms in JavaScript. It is assumed that you are already somewhat familiar with the creation of HTML forms and with the input elements that they contain. If not, you may want to refer to a good book on HTML.
The Document object contains a property named "cookie" that, on the surface, appears to be a simple string value. A cookie is a small amount of named data stored by the web browser and associated with a particular web page or web site. Cookies serve to give the web browser a memory, so that scripts and server-side programs can use data that was input on one page in another page, or so the browser can recall user preferences or other state variables when the user leaves a page and then returns. Thus, the cookie property controls a very important feature of the web browser and is important enough to warrant a complete chapter of its own, "Cookies and Client-Side Persistence".
Internet Explorer on Windows, Safari on Mac OS-X, Mozilla on all platforms, Konqueror in KDE, IceBrowser on Java, and Opera on all platforms provide a method for client side Javascript to make HTTP requests. From humble beginnings as an oddly named object with few admirers, it's blossomed to be the core technology in something called AJAX. The object in question is called the XMLHTTPRequest object, and it is not limited to being used with XML. It can request or send any type of document, although dealing with binary streams can be problematical in Javascript. This chapter, "Scripting HTTP", covers these issues. Since AJAX actually stands for "Asynchronous Javascript and XML", the next chapter discusses Javascript and XML working together.
The final two chapters of part two of the book are very cool and interesting to me, but might not be of interest to the standard professional Javascript programmer, since it deals with client-side graphics and movies using Javascript. This includes working with VML, SVG, graphics and Java, and finally using Javascript with Flash 8. Parts three and four form a reference section for Javascript, including the various methods and their usages.
The source code is well commented and explained, as in all previous editions, and is available for download from the book's website. This book is a great instructive textbook and reference on Javascript. I highly recommend it.
I took the plunge and purchased the new 5th edition of the book. Flanagan still only provides mediocre examples, like when he explains parseInt() he only shows integer arguments so it's no big surprise that he gets back integers. It would be much better, say, if he showed how parseInt(2.5) returns 2 so it really can't be used to validate that the input argument is an integer.
My boss has the "JavaScript Bible 6th Edition" by Goodman, but that book merely teaches the language, if you have that kind of time. You can't really look things up in that book. Where this book by Flanagan excels is in its reference, but I hate the new arrangement. Flanagan provided an A to Z reference in the 1.1 book, but not any more.
I nicked this review down a star because Flanagan now groups content in the reference by whether it applies to what he calls "core JavaScript" vs. "client JavaScript". Who cares? Speaking as a developer who jumps among multiple languages -- JavaScript, CSS, DHTML, HTML, LotusScript, @formula language, Java -- to support several web applications, when I need to look something up in JavaScript, I just want an alphabetical reference.
I don't really care if something is "DOM Level 1 Core JavaScript". I don't even know what the heck that means! I'm not a JavaScript purist. JavaScript is just one of the tools I employ. Flanagan needs to realize that his technical books are not novels, we don't read them from start to finish.
Despite my frustrations with the book, it's still a worthwhile purchase, I don't regret it.
Ten years ago, JavaScript support was so different among various web browsers, I gave up trying to do any logical processing in JavaScript, and went into server-side programming.
Today, you still have to do a select few things two or three times in JavaScript to get them to work in all web browsers. But with much better standardization across browsers -- including broad support for Ajax, or remote scripting -- it's become worthwhile again to spend time on JavaScript development.
So, I took an online JavaScript class at the local community college. I bought this book as my reading text.
This "bible" of JavaScript skimps at times on simple examples, but provides several lengthy general-purpose code samples that show how to abstract out the client-specific or case-specific handling from an underlying set of routines.
Only the first part of this book is instructional. Then, there is the wonderful second half of the book, which is all reference. Divided into the core language reference and the client-side JavaScript reference, it's an essential quick lookup tool.
If you are new to JavaScript or (like me) brushing up on it after a long time away, choose this book as your in-depth background information and your ongoing reference text. Choose something like Dori Smith's JavaScript and Ajax for the Web, Sixth Edition (Visual QuickStart Guide) for your smaller, quick-start examples to play with.
Unfortunately, as long as browsers don't all support all the same JavaScript and CSS, there is still too much tedious hacking needed to provide a useful interface on the client side. Neither this book nor any other will get you past that little problem.
Top reviews from other countries

It's certainly a reference book that must be on the desk of every javascript developer, whether you're a beginner, mid-level like I'm or an advanced developer.
I especailly like the way the first 2 parts cover the core principles and the client side of javascript. Then you have the reference part that drives deep into all the functions and capabilities of the language.
It's well written, explains the concepts very well and I think it's worth every penny.
Working through books that have examples is good but I have found out that these books cannot explain every concept as that is not their main emphasis. This book does, and must be the first point of call for the beginner especially, before any other javascript book.


The book is well structered with an overview of the language lexicon followed by industry standard usage examples and a well laid out references section both for language usage and client side usage. The writing style is coherent and engaging with a clear narrative that should be understood by novice and expert alike.
On the whole very happy.


A gem in any bookshelf. Used to borrow it from uni, eventually decided to buy.