Poor examples and poor example of programming style
You do not want this book. Both the examples chosen and the style of programming used are ... nothing you want to emulate.
In partial defense of the author, most (practically all) Javascript books are pretty awful, and at the time this book was written, there were few or no better examples.
I was looking as an exercise to offer well-written rewrites of older poorly written examples. After scanning through my copy, realized that even the examples were not worth redeeming.
The best Javascript book I have found so far is:
JavaScript: The Definitive Guide
(even in this book the examples are not often less than excellent.)
Nicely written, needs updating for today' browsers
As a javascript, I started using this book after studying Goodman's "The Javascript Bible", hoping to study some real-life applications. The code is nicely written and fully commented. But most of the examples do not work on today's browsers (IE6 and Firefox 1.0 when this review was written), so in this respect, the book is useless.
Good book if you're past the fundamentals
This book fills a very nice gap in the world of JavaScript books. Most of the books either are basic "how to" learning guides or exhaustive reference manuals. Both of those types of books are necessary for a good developer, but there comes a time when you want to cross over from the theoretical to the practical. As in, "how would I do a function like this in JavaScript?"The "cookbook" approach is designed to take a common web site feature, like a search engine, and code a common JavaScript routine that would do that. You can then take the code in the book and use it with very little modification. In most cases, you would learn from the code as you are implementing it, and from there you can enhance the function to better suit your particular needs. You get the best of both worlds... You are quickly able to implement a function you are getting paid to build, and you are learning at the same time.
I liked the piece on context-sensitive help files. Nothing is really complex or visually impressive. But it's core functionality that you can implement quickly, it's useful for the end user, and you can build on that technique both in your current and future applications.
For Notes/Domino developers, you'll find a lot you can use here. Being that Domino functionality often translates to the web, you may find that a pure JavaScript implementation of a feature may not be the fastest or easiest way to build something for your application. You'll need to examine the functionality you need for your application and determine the best way to do it. But even if you choose to use Domino to accomplish some task, seeing the way to do it in JavaScript can help you expand your horizons and consider different approaches.
Conclusion
I would recommend this book as a practical supplement to a good "how to" and a good reference book. If you're just starting to learn JavaScript, you may want to leave this one alone for awhile.
Virtually Useless Text
The text is focused on providing ready built constructs that can be applied to any website. In summary this book contains 11 application constructs. 3 are possibly applicable in todays world, albeit their relevancy is questioned, the other 9 topics such as text ciphers in JavaScript and Shopping Carts in JavaScript, etc. are completely unacceptable in today's world. Adding text cipher or Shopping cart logic in the browser completely exposes that logic to the hacking public leaving your site completely vulnerable to attack. Even in 1999, when this book was written, this would have been a ridiculous way of implementing these things. I must say I gathered no useful information from this text. And as for the author, anyone who had their site implemented by this person should hire a professional to correct the security holes he has most likely left behind.
Finally, javascript without the cheap tricks......
After working through the first chapter (site search engine) I felt that this was a book work reading. It isn't a beginner's book, but anyone with intermediate javascript skills and an interest in using client-side processing will pick up a good amount of useful techniques and some needed perspective on how client-side scripting can be a powerful asset.The code could be better (as could anyone's). There is a strong focus on using local variables instead of global and the naming conventions make following the logic from one function to the next a little difficult. This, however, does not diminish the value of the concepts presented.
To use the book, you "MUST" download the files. Not only are they a lot easier to read, you can comment them extensively as you go and pick up logic bits.
An inportant suggestion is to not blow through the example application too quickly. If you take the time to take them apart, modify them and reassemble, you will pick up much more than just running them reading the code and moving on.
I wish there were more books that presented the business functionality of javascript and how it can be used to handle many of the things that are being passed to server-side processing.
I bought it, used it and would buy it again...