'Professional JavaScript for Web Developers' is aimed at teaching JavaScript in a manner befitting 'real' programming languages such as Java and C++. This description may be from another edition of this product.
I bought this book the day after I attended a session given by Nicholas Zakas (author) at the Velocity Conference in San Jose this year. He offered some brilliant pointers and techniques on writing Javascript code that performs well and is efficient and stable on all browsers. The book covers all aspects of Javascript in detail and approaches all subjects with an object-oriented mindset. From language basics (data types, variables, objects, functions) and event handling to the Document Object Model (DOM) and the Browser Object Model (BOM) to error handling and debugging to advanced features (custom events, drag and drop) and offline storage just to name a few. He also talks about AJAX, JSON vs. XML and HTML 5 and the new APIs it's bringing. There is also a brief history of language that is written in a much more informative way that in any other book I've read on the subject. The book puts a lot of emphasis on performance and efficiency, especially when it comes to scope, memory management and algorithm complexity. You will finally learn and understand what closures are all about. You will know how some statements work in some browsers (IE is always the slowest browser.) You will learn a ton of stuff you won't find anywhere else neither online nor in a book. There is also a section on best practices including maintainability, performance and deployment that I found especially useful. If you are not a programmer AND just starting to learn Javascript, get Learning JavaScript, 2nd Edition. Otherwise, this is your book. It is essential in any respectable front-end developer's library.
Take your skills to the next level
Published by Thriftbooks.com User , 15 years ago
This is currently my favorite book on JavaScript. Zakas doesn't pull any punches. It took me a while to work through some of the chapters, primarily Chapter 5 (Reference Types), Chapter 6 (Object-Oriented Programming) and Chapter 18 (Advanced Techniques) because of the difficulty of the material. This is a good thing: the difficulty is due to the sometimes non-intuituve aspects of JavaScript (i.e., function binding and currying), not to any possible failure on the part of the author. His command of his material is evident in his ability to explain these difficult techniques, which can seem overwhelming at first blush. I really like that he doesn't insult his reader's intelligence by sticking with the easier-to-understand aspects of JavaScript but covers the most advanced JavaScript topics thoroughly. I expect to be challenged when reading a book on JavaScript, and taking time to work through the examples by stepping through them in Firebug is well worth it and what I look forward to doing. I don't like when I can read a book and not have to touch a keyboard to understand the material. I especially love the chapter on OO programming and how he breaks down each OO pattern. He starts with the most basic example of inheritance and works up to the best-case scenario, always giving the pros and cons of each pattern along the way and when each pattern could be employed. In doing so, he provides an invaluable service to those who want to understand how libraries are engineered. I remember when I first was looking at the source code for a particular library, and I was completely baffled by what I saw. For example, I would often see this: MyClass.superclass.constructor.call(this); There was no explanation to what this esoteric statement was doing. Now, after reading the book (actually, at the time it was the first edition of the book), I understand that this is known as constructor stealing or object masquerading, and I now know that it's used to inherit instance properties. I had many, many moments like this, and now when I look at source code I can intelligently follow it and understand its intent. This book empowers the reader with new knowledge. This is especially important when more and more I encounter front-enders who feel that knowing jQuery is knowing JavaScript. I remember when I first began looking at JavaScript libraries I was completely overwhelmed; from that moment I resolved to learn the JavaScript language inside and out if I could. Then, I'd go back to the libraries. Well, that has paid off in spades now, and I feel completely comfortable working in any library knowing what they're doing under the hood (and I have worked with several at different jobs). In fact, I write my own library in my spare time, and I never could have begun to do that or understand how to do that without books like this one and others. I also love how Zakas gives the back-history to all the subjects he covers. Knowing where stuff came from
Terrific book on modern, multi-browser Javascript
Published by Thriftbooks.com User , 19 years ago
I don't get the negative reviews that are splattered around here. The positive reviews are dead on: this is a great book. It is probably the most advanced, most modern application of Javascript ever written. I'm not speaking too far out of line since I'm fairly certain that I've bought and read them all. Javascript has been viewed as a toy or a fun little scripting language but not one that serious developers use. The author takes great care in completely debunking this theory by demonstrating advanced and useful techniques that push Javascript to the edge, without forcing it to do unnatural things. It's also extremely honest and forward about Javascript's limitations. I also appreciated the complete non-biased presentation of the multiple browsers and their slightly varied approaches to implementing Javascript. Previously, advanced Javascript books (and there weren't many!) focused on IE/JScript only but now there is a legitimate force out there not using IE! I'm am anxiously waiting for his follow-up book on AJAX technologies. Both Javascript and AJAX are hardly new, but Zakas does a commendable job here bringing browser based client side scripting into the 21st century. I teach a Jr/Sr High programming class and we use Javascript as the language and this book as the text. Students develop using OOP patterns and practice good solid design -- which Javascript allows. Not a teacher by trade, my day job is developing client technologies and user interfaces for the financial sector.
The best MODERN use of Javascript I've found
Published by Thriftbooks.com User , 19 years ago
I really have appreciated this book. I've read the O'Reilly series, and a few other JavaScript books, and I have to say - this one is clear, has useful examples, and outlines the why and how very well. Sometimes the story gets a little complex - for example, the author describes how to use Object.prototypes by explaining the history of their use - which gets progressively more convoluted before it gets simple again). This isn't probably very good teaching technique, but I really appreciated learning how people view and hack JS to get what they need. I heartily recommend this book to anyone thinking of doing serious browser Javascript.
For Intermediate and Advanced Programmers
Published by Thriftbooks.com User , 19 years ago
The key to knowing about this book is the word "Professional" in the title. There are other books aimed at the complete beginner that will start off with a much simpler "Here's How" approach to get you started. This book instead starts off with the history, the basic ECMAScript standards and a discussion on the Object nature of JavaScript. It's written by a working programmer to fill the real world needs of other working programmers. It does this job very well. Further, the book is new and up to date. JavaScript is an evolving language as the web grows to demand increasing capabilities. Some of these features that now get full chapters in this book include: XML, Client-Server communications, Web Services, interacting with Plug-Ins. The last chapter talks about the next step in the development of JavaScript, with cautions that this material is still preliminary and subject to change. Excellent book for the intermediate to advanced JavaScript programmer.
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15. ThriftBooks.com. Read more. Spend less.