Product Details
JavaScript: The Definitive Guide

JavaScript: The Definitive Guide
By David Flanagan, Flanagan David

List Price: $49.99
Price: $31.49 & eligible for FREE Super Saver Shipping on orders over $25. Details

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

71 new or used available from $18.98

Average customer review:

Product Description

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 made this 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


Product Details

  • Amazon Sales Rank: #7537 in Books
  • Published on: 2006-08-17
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 1018 pages

Editorial Reviews

Amazon.com Review
Since the earliest days of Internet scripting, Web developers have considered JavaScript: The Definitive Guide an essential resource. David Flanagan's approach, which combines tutorials and examples with easy-to-use syntax guides and object references, suits the typical programmer's requirements nicely. The brand-new fourth edition of Flanagan's "Rhino Book" includes coverage of JavaScript 1.5, JScript 5.5, ECMAScript 3, and the Document Object Model (DOM) Level 2 standard from the World Wide Web Consortium (W3C). Interestingly, the author has shifted away from specifying--as he did in earlier editions--what browsers support each bit of the language. Rather than say Netscape 3.0 supports the Image object while Internet Explorer 3.0 does not, he specifies that JavaScript 1.1 and JScript 3.0 support Image. More usefully, he specifies the contents of independent standards like ECMAScript, which encourages scripters to write applications for these standards and browser vendors to support them. As Flanagan says, JavaScript and its related subjects are very complex in their pure forms. It's impossible to keep track of the differences among half a dozen vendors' generally similar implementations. Nonetheless, a lot of examples make reference to specific browsers' capabilities.

Though he does not cover server-side APIs, Flanagan has chosen to separate coverage of core JavaScript (all the keywords, general syntax, and utility objects like Array) from coverage of client-side JavaScript (which includes objects, like History and Event, that have to do with Web browsers and users' interactions with them. This approach makes this book useful to people using JavaScript for applications other than Web pages. By the way, the other classic JavaScript text--Danny Goodman's JavaScript Bible--isn't as current as this book, but it's still a fantastic (and perhaps somewhat more novice-friendly) guide to the JavaScript language and its capabilities. --David Wall

Topics covered: The JavaScript language (version 1.0 through version 1.5) and its relatives, JScript and ECMAScript, as well as the W3C DOM standards they're often used to manipulate. Tutorial sections show how to program in JavaScript, while reference sections summarize syntax and options while providing copious code examples.

From Library Journal
O'Reilly books have a reputation among programmers for providing some of the best technical information for professionals. No exception, these three web-related books will only enhance O'Reilly's reputation. JavaScript is not Java, but it is very useful because JavaScript code does not need to be compiled and the scripts can be embedded directly into an HTML document. Flanagan's work is an excellent book for programmers interested in learning it quickly. Grand, meanwhile, provides an exceptionally clear discussion of Java itself that is particularly useful for a working programmer moving from C++ to Java. Threads are what makes Java a particularly useful language for multiprocessing?the ability to appear to do more than one thing at a time?which is what the Internet is all about. The tricky part of threads is that the concept is new for most users. Oaks offers a very clear discussion of how to spawn a process, when to spawn, and how to synchronize and schedule it, all illustrated with good network examples.
Copyright 1997 Reed Business Information, Inc.

Review
"Excellent, detailed guide." - Computer Shopper, February 2007


Customer Reviews

The Final Word (incl review of critics)4
As you may know, this book is considered THE Javascript book. What's makes the book worthwhile is it's fine discussion of Javascript's innerworkings. If you really want learn how Javascript's objects, functions, and data type handling work, then this is the book for you. The criticisms of this book fall into three catagories: 1) "Not for beginners". Yes, this book is not intended for people who have never studied object oriented programming. But that doesn't make it a 2 star book! Even beginners, if they are serious enough, will eventually need some clues about how Javascript really works. 2) "It's outdated". Again, yes; the reference section, and some of the browser dependant discussion is clearly outdated; BUT that still does not make this an outdated book! The author's in-depth explanation of Javascript innerworkings may never become outdated, and that alone is what makes this book worthwhile. 3) "Not enough examples". This is the only criticism that I

actually agree with, and therefore the 4, instead of 5 stars. Not only can this book benefit from additional small examples, but the author's explanations are sometimes lacking, or even worse, missing. On a few examples, he basically says, "This is worthy of study. Go ahead and study it." Sorry, I expect more from my books, than a grumpy professor in a university lecture hall, nearing the end of class.

Hard core Javascript theory.....at last.4
After trying to learn javascript from the visual series "javascript for the world wide web, 3rd ed" (and being thoroughly disappointed), I finally have found a book that describes the fundamentals of the javascript language in detail. This book explains from an academic perspective the rules, usage, and syntax of javascript. It leads the reader into the depths of how javascript implements an object-oriented paradigm without getting too esoteric. It can be difficult reading at times, but the true nature of javascript programming is not that of a simple little scripting language as some would have you believe. The coding examples could have been better, with more full-sized scripts showing the language in action instead of the numerous 1-4 line code snipets. The one big distraction I noticed was the seemingly constant references to netscape navigator, and all the bugs present in older versions of that browser. Unfortunately, this dated the book and tended to highlight a bias when the author would have been better off staying with the academic focus. Even still, the majority of the theory is unaffected by nav or ie, and the reference section is essential for any serious javascript developer. It is noted that this book was copyright 1998, so "cutting edge" javascript extensions will not be included, but the fundamental theory behind the language remains intact. With the combination of this book (theory and reference) and the visual series book (cutesy web page tricks), I can finally get on with the task of finishing my web site.

The best Javascript reference4
This is the best Javascript reference available.

The book is divided into three sections. The first covers "Core Javascript", defining the language itself with only occasional references to how you might use it in a browser. This initially seemed to me to be a roundabout way to approach the language--why wouldn't you want to explain it by examples in a web page? However, after becoming more familiar with the language I think it was absolutely the right decision, since it avoids confusing the document object model (see below for more about that) with the language itself, a confusion common among beginners.

At the end of the first section (which developers experienced in other languages can skim, but shouldn't skip) you know what Javascript code looks like and how to do assignments, define functions, and so on. The second section, "Client-side Javascript", is where examples start to show up that you can really run in a test page of your own. The examples are good and there are plenty of them.

The heart of the second section is the discussion of the document object model. After some introductory discussion, covering windows and frames and some of the more common Javascript tasks, there's an overview of the DOM. Subsequent chapters cover it in more detail. This organization makes it pretty easy to find what you need without even resorting to the index. For example, I find the forms chapter, and the chapter on how to use cookies to save state, to be very useful, and easy to find information in.

Finally, there's a reference section at the back. This is the most valuable section once you're well on your way with the language, and is what I now use most of all. It's comprehensive and clearly written.

The book does have one weakness, which has been noted by other reviewers here: it doesn't have a "cookbook" section, showing you how to do common tasks with Javascript. This is a serious omission because of the nature of Javascript usage. Very often a webmaster for a small non-profit or a small business will decide they want to do a rollover, or add an alert for form validation failures, or something similar. Users like this need something equivalent to the "Perl Cookbook"; a "How to . . ." section that gives you an example close to what you need.

Despite this caveat, however, this is still the best book around: an excellent reference, and a great way to learn the language.