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:

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.

David Flanagan

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.

The animal on the cover of JavaScript: The Definitive Guide, Fifth Edition, is a Javan rhinoceros. All five species of rhinoceros are distinguished by their large size, thick armor-like skin, three-toed feet, and single or double snout horn. The Javan rhinoceros, along with the Sumatran rhinoceros, is one of two forest-dwelling species. The Javan rhinoceros is similar in appearance to the Indian rhinoceros, but smaller and with certain distinguishing characteristics (primarily skin texture).Rhinoceroses are often depicted standing up to their snouts in water or mud. In fact, they can frequently be found just like that. When not resting in a river, rhinos will dig deep pits in which to wallow. Both of these resting places provide a couple of advantages. First, they give the animal relief from the tropical heat and protection from blood-sucking flies. (The mud that the wallow leaves on the skin of the rhinoceros provides some protection from flies, also.) Second, mud wallows and river water help support the considerable weight of these huge animals, thereby relieving the strain on their legs and backs.Folklore has long held that the horn of the rhinoceros possesses magical and aphrodisiacal powers, and that humans who gain possession of the horns will gain those powers, also. This is one of the reasons why rhinos are a prime target of poachers. All species of rhinoceros are in danger, and the Javan rhino population is the most precarious. Fewer than 100 of these animals are still living. At one time, Javan rhinos could be found throughout southeastern Asia, but they are now believed to exist only in Indonesia and Vietnam.The cover image is is a 19th-century engraving from the Dover Pictorial Archive. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed.

I started using this book as a beginner and there is a certain way you have to do that if you are just starting out.

What I did was, I started with my college text (New Perspectives HTML, XHTML & DHTML) that covers JavaScript and felt that they were leaving out alot of the indepth information. So, what I did was, I would read a concept from my college text, do the exercises and then go to this book and also read about it.

By doing this, I was able to get an introduction to JavaScript at first and then learn the deeper concepts right after. I suggest that beginners get this book and a introduction to JavaScript book and read them both together. It will make the learning process much more enjoyable and you will save yourself a lot of confusion and grief because the introduction books tend to leave out information. This book will fill in the gaps!

I tried to use this book as an introduction but the language and terminology was way too advanced to be helpful. I bought another book that was geared to absolute beginners, and now this book is my primary reference guide to JavaScript. It really has raised my scripting ability to a completely new level. This book is a must-have for all intermediate level JavaScripters who want to know the power of JavaScript and manipulate the DOM. It also has a good introduction to Ajax--which is another step to maximizing the power of JavaScript.

I used the book to add javascript to my website. The reference section is very helpfull.I found some of the examples impossible to use because I am not advanced enough figure out how to call the code, still working on it.

I have been programming for some time and I do use JavaScript reasonably often. I am glad to see a book that packs in almost everything about JavaScript in one manual.

The book is really 3 references bound together. The first part is about JavaScript, its background, how it is used (with examples), and its relationship to the web page, DOM, CSS, and HTML. This part focuses on using JS to make web pages dynamic on the client side.

Part 2 is a guide to the object, methods, and properties that are built into JS. This section is an excellent reference to programmers since it is difficult to remember the hundreds of built in methods and properties for each object. JS does not have an extremely large number of objects but does have a large number of properties and methods.

The last part provides a reference about the client side environment. For example the "document" object is detailed.

When I need a JS reference, it is generally to look up an example, to get a listing of the offerings for a particular object, or to see the names and/or spellings of various methods and properties. This is the most complete manual I have seen and one of the easiest to use to locate the information, which is good since the book is long.

The book is organized like a reference as well; especially in parts 2 and 3. The material is generally in alphabetic order with methods and properties also listed alphabetically under each object.

I believe you got the wrong book. This book is really written as a reference guide, not a beginner programming guide. I would suggest that you look at Learning JavaScript (http://oreilly.com/catalog/9780596521875/) . O'Reilly has a system to their books where in a particular language series there is a Learning, Programming, Cookbook and the Definitive Guide. The Learning book is pretty much for the first-time programmer. The Programming, I have found, is for person who has used extensively one or two other languages and would like to add this language to their list. The Cookbook is how to solve some rather complex and common problems and the Definitive Guide is well, the reference guide. There are many other learning JavaScript books out there. I would suggest going to a good bookstore and browsing the first few chapters of each one until you find one that fits you best. I keep this book on my desk and find myself constantly looking at it.

I bought this book in order to start learning JavaScript. I have only had XHTML/CSS, and I thought of JavaScript as a decent introduction to light programming.

I had heard a lot of good things about this book, but there's one problem: the way its chapters are arranged causes a big chaos into a begginer's mind. There are way too many examples in the first three chapters which involve arrays and objects, making it hard for you to understand the given examples.

There's also too much text which involves knowledge that you'll later achieve, so even the text will make it hard to understand.

These are its main problems. It's a definitive introduction, presenting too much information in an intimidating way, thus requiring the reader to adapt to the author's chaotic style.

I bought this book to replace the previous edition and get a little more up to speed on DOM and document scripting.

This book needs less talk and more definition. I was somewhat dissapointed to find that proprietary properties like innerHTML can be found but a simple method like setSelectionRange() isn't. I had to discover it via google and not my book :(

The upside is the layout. There's a lot to cover with Javascript and this book at least makes an attempt to do so. The client and Core objects/functions are separated nicely for reference. But it needs to be more complete.