JavaScript is a powerful, object-based scripting language; JavaScript programs can be embedded directly in HTML web pages. When combined with the Document Object Model (DOM) defined by a web browser, JavaScript allows you to create Dynamic HTML content and interactive client-side web applications. JavaScript syntax is based on the popular programming languages C, C++, and Java, which makes it familiar and easy to learn for experienced programmers. At the same time, JavaScript is an interpreted scripting language, providing a flexible, forgiving programming environment in which new programmers can learn.JavaScript: The Definitive Guide provides a thorough description of the core JavaScript language and both the legacy and standard DOMs implemented in web browsers. The book includes sophisticated examples that show you how to handle common tasks, like validating form data, working with cookies, and creating portable DHTML animations. The book also contains detailed reference sections that cover the core JavaScript API, the legacy client-side API, and the W3C standard DOM API, documenting every JavaScript object, method, property, constructor, constant, function, and event handler in those APIs.This fourth edition of the bestselling JavaScript book has been carefully updated to cover JavaScript 1.5 (ECMAScript version 3). The book also provides complete coverage of the W3C DOM standard (Level 1 and Level 2), while retaining material on the legacy Level 0 DOM for backward compatibility.JavaScript: The Definitive Guide is a complete programmer's guide and reference manual for JavaScript. It is particularly useful for developers working with the latest standards-compliant web browsers, like Internet Explorer 6, Netscape 6, and Mozilla. HTML authors can learn how to use JavaScript to build dynamic web pages. Experienced programmers can quickly find the information they need to start writing sophisticated JavaScript programs. This book is an indispensable reference for all JavaScript programmers, regardless of experience level.

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 son in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia. David has a simple website at http://www.davidflanagan.com.

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of JavaScript: The Definitive Guide 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 back. 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 rhinoceroses are a prime target of poachers. All species of rhinoceros are in danger, and the Javan rhino is the most precarious. There are fewer than 100 of these animals still living. At one time Javan rhinoceroses could be found throughout southeastern Asia, but they are now believed to exist only in Indonesia and Vietnam. Edie Freedman designed the cover of this book, using a 19th-century engraving from the Dover Pictorial Archive. The cover layout was produced by Kathleen Wilson with Quark XPress 3.3 using the ITC Garamond font. Whenever possible, our books use RepKoverTM, a durable and flexible lay-flat binding. If the page count exceeds RepKover's limit, perfect binding isused. The inside layout was designed by Nancy Priest and Mary Jane Walsh. Text was prepared in SGML using the DocBook 2.1 DTD. The print version of this book was created by translating the SGML source into a set of gtroff macros using a filter developed at ORA by Norman Walsh. Steve Talbott designed and wrote the underlying macro set on the basis of the GNU troff -gs macros; Lenny Muellner adapted them to SGML and implemented the book design. The GNU groff text formatter version 1.09 was used to generate PostScript output. The text and heading fonts are ITC Garamond Light and Garamond Book; the constant-width font used in this book is Letter Gothic. The illustrations that appear in the book were created in Macromedia Freehand 5.0 by Chris Reilley.

The is the most valuable book on programming that I own. I compare its value as a reference to other programming books from O'Reilly, such as the Camel book. "JavaScript: The Definitive Guide", avoids using a term in its own definition. It is also well structured; new concepts build on previous concepts. Content is directed towards the book's title, rather then the attempts at humor seen in other books.

Maybe the section on the W3C DOM could be improved by adding code examples. When this book was written, putting DOM use examples in it would have been a waste I think, given the level of industry sophistication at the time. This thought is included in the review only because a "sandwich" style review is what I prefer to get and to give. The W3C website is where one should expect to find W3C DOM examples.

Points that make this book indispensible are: The explanation of "object-oriented" (clearest I've seen in any reference), description of Regular Expressions (easy to understand and made reading RegEx usage in other languages easier), Reference to browser compatibility (absolute necessity). These make the book useful to me even after the newer edition was published.

If I could have only one book pertaining to language it would be this book.

"JavaScript: The Definitive Guide" is not a step by step guide to JavaScript any more than an encyclopedia is a step by step guide. The book does provide an authoritative analysis of the language including a brief history of the language, data types, operators, statements, functions, objects, and arrays.

The author does a good job of addressing some of the assumptions of the language and how these assumptions may or may not be like other languages such as C++ or Java. The author also clarifies the different levels of support for certain aspects of the language both within the discussion and with the large JavaScript reference section. The book also provides a handy and thorough W3C DOM reference for working with various aspects of DHTML.

Some of the material in this book will provide a critical understanding to JavaScript's more advanced features. With the emergence of AJAX, many web developers are turning to JavaScript to provide solutions for dynamic web based applications. Now that JavaScript is more fully supported in modern browsers, web developers may want to turn to "JavaScript: The Definitive Guide" to enhance or polish existing JavaScript skills.

If you are looking for a quick introduction to JavaScript, you may find yourself disappointed. However, if you are already familiar with JavaScript and need a reference to look up an answer to your problem or need a guide for fine tuning your DHTML skills, you may that this book is a rich resource for you.

I find this book very useful for me. I use Javascript programming in my work frequently, and here i find many super and useful examples of using javascript code. In my opinion, JavaScript: The Definitive Guide, 4th Edition is definitive guide book for all javascript programmers.

An excellent book, I am most of the way through part 1 and 2 and it has been a real eye-opener as to how JavaScript works. The examples helped make clear some of the more esoteric parts of Javascript, including the concept of functions being objects! It has also helped to explain a number of inherited javascripts that have been partially incomprehensible.

This book will definitely be sitting directly on my desk as a reference book.

I have been teaching myself to program from books since 1991. On my shelf are books by Petzold ,Prosise, and Appleman. I have been dabbling with Javascript for the last 4 years and felt I needed something more comprehensive than the Dummies reference I have been relying on. Perhaps it is just because I fall dead center of this book's target readership but, having almost completed the Core Guide section, I would say David Flanagan has produced the best programming book I have ever read. His approach is rational and his writing is succinct. He imparts his understanding of the topic without dogmatic assertions and without his ego intruding into the text. I am devouring this book like a novel, learning something with just about every page I turn, and cannot wait to get on to the Client-Side Javascript in Part 2.

If you truly want to understand the inner workings of JavaScript (not just make a background color change every .2 seconds or open a new window), I would say this book is essential. I'm addicted... I'm on my fifth time thru the Core Language section.

David lays the language out in painstaking detail! I highly recommend!

I've avoided the use of Javascript as much as possible, possibly due to my adverse reaction to this book (3rd edition) on my first read. Now I'm rereading it because I need so use Javascript on some pages. But in between the first and second read I've gotten much more fluent in both Java and Perl so I really trust that I'm competent to read it and most programming/scripting books. But just like on my first read the book, and maybe the language, are just as offputting as they were before.

I'm not really sure why that is but I think that the first section just doesn't do a very good job of explaining the internals. Or perhaps the internals just indicate a real hodgepodge of a language. I'm currently reading Learning Perl Objects Modules and References and it explains a very complex subject far more clearly than this. And that's not due to the humor. It just explains things more clearly. But what I really can't figure out is if that is because Perl, like Java, is just a language that is far more logical than Javascript or whether the explanations of those languages in the books I've read are just far better than this.

Sorry to rain on everybody's parade but after finding myself suffering mental anguish as I try to read through this for the second time I have to think that it's not just me.

I'm guessing that most people like it for the reference section. And they may be right. But trying to understand the language by reading the first part if like reading the manuals that used to come with software. All they did was give you a headache. I've probably read 100 O'Reilly books so I think that should be evidence enough that I don't have trouble with difficult books. There's just something about this one that makes it torture to read.

I also have to strongly disagree with the first review. I just picked up the 4th edition for a graduate class on web scripting and development and for work as a web developer. I was almost immediately able to adapt several of the example scripts. These are very real-world examples! Apparently the reviewer has superior knowledge and only has to look up highly esoteric, very obscure points about JavaScript. I found the reference, the entire book in fact, clearly written and well worth the cost.

This book has been dubbed by me as THE bible for/of JavaScripting. Plenty of information on the nitty-gritty of JavaScript. I've been using JavaScripts with my web pages for a while now (4 years) and there was a wealth of information I didn't even know existed. The bulk of the book is an invaluable reference, better than any I have seen online. If you do JavaScripting and do not own this book; I'd like to know how you do it. I think it would be painful without it.