Heads First JavaScript

I am a big fan of the Heads First series of books by the OReilly Press. Their wacky, dynamic style make them memorable. And OReilly has gotten first class writers to author some excellent volumes in this series. The take-no-prisoners approach with “there are no dumb questions”, “JavaScriptcrossword Puzzles gives writers/editors an opportunity to clear away ambiguities and confusion and make topics more memorable.

Several Head First books have received the highest JBS accolade – they have become page worn, highlighted, and suffered multiple corner flap foldings. But when I got Heads First JavaScript I was skeptical. JavaScript is one of those neither fish nor foul…uhhh fowl typeless… uhh weakly typed languages. Also JavaScript and Java have this thing … but they are not related. And one need no further proof than the implementation of Object Oriented programming in JavaScript. Its a mess until you get to … if we ever get to JavaScript X/ECMAScript 4 where full OO is brought to JavaScript but that is another HUGE story.

In short JavaScript has a lot of lot of baggage – not the least of which is the bodily harm Microsoft has done to the language with its rejection of popular standards, departure from the DOM, and proprietary extensions. So reading a text on JavaScript is often a case of deciphering what will work in IE versus the rest of the browsers. But Michael Morrison has managed in this book to keep the MS Departures from Web Standards to a low noise level despite IE7.

And the book takes on a lot of the topics that get shoved to the back if mentioned at all in most JavaScript tomes. Thus, CSS, DOM, getElementById(), and on blur are all part of the very first “getting started” exercise. This book does not back away from the guts of JavaScript – the fact that it is CSS, DOM and HTML = DHTML that make Web 2.0 and JavaScript important.

So as a seasoned JavaScript vet I found Head First JavaScript very helpful as a review of JS topics plus a great first introduction into topics like function literals, prototypes, and inner HTML intricacies. But JS neophytes need not shudder, this book is jammed with examples, explanations, and novel quizzes that will make the basics of JavaScript imminently palatable. And in fact, except for the price of $40, this book would be perfect for a 3-5 day course on Web 2.0 and JavaScript. Course takers would then have the perfect follow up vehicle including excellent references and exercise to be done post lessons.

Books like AJAX Design Patterns or Pro JavaScript Techniques are really quite excellent but simply assume a lot of JavaScript knowledge in order to cover the advanced AJAX and Web 2.0 usage adequately. Head First JavaScript is centered on JavaScripts syntax and semantics with such topics as JSON, AJAX frameworks, and OO development patterns picked up much better in the two more advanced texts. But for a lively, hands-on and memorable intro into JavaScript, Head First JavaScript is hard to beat.