The book also tends to fail in certain areas : * At times the book would make a suggestion as to something you could do, without showing an example : ** eg lazy loading Observer P223. ** Also, whenever the book forayed off into the realm of Ajax, server-side references were made to PHP scripts that weren't contained in the book (or code download :-( ). (example Chapter 7 Factory Pattern P107. The section on whitelisting was described. I was rather disillusioned not to see such code within the pages of the book showing how this is done).
* At times the book would show a revised version of some code, without pinpointing the salient changes in the narrative, so you had to really study and compare code. (eg P248/9 - should have mentioned argument was now being passed in to function)
* Chapter 6 on Chaining. The concept is something I'm familiar with, having used jQuery, but the tail end of the chapter seemed too cryptic for my taste. Too many missing pieces of the puzzle.
* The author seems to flit between naming variables for functions with a lowercase at the start of the book, but by the end has flitted to uppercase. I thought uppercase variable names was supposed to be reserved for classes. * P132 ev should be e. * Chapter 8 P112 Why have send with (postData || null). The or null seems redundant. Describe reasoning. (Dustin tells me this is to translate undefined to null - as the send method only likes null or data) * Chapter 9 P131. Comment about implementation with Cookies not being best approach. Why give an example that is lame? Give me examples that are production ready! This is a 'Pro' series book right? * Chapter 12 (Decorator) has errors in the code. It's worth looking at the errata on the APress website here. It revolves around the use of 'this' to assign the superclass constructors. I think all of the Decorators in this chapter suffer from same fate, not just the one described. There seems to be a repeating pattern (pun intended)!
If some of these issues had been addressed, I would have had no hesitation in awarding the book five stars, as it was an engaging and enjoyable read. It wasn't too heavy either, something you can easily read in a weekend.