Top critical review
256 people found this helpful
3.0 out of 5 starsGood and informative, but riddled with errors JavaScript novices might not notice.
ByKyle Hallemanon July 23, 2014
I love Jon Duckett's HTML and CSS book, it has been an invaluable resource in my career. I first started learning web development using it. I was eagerly awaiting this book for over a year. I couldn't wait to learn JavaScript any longer, so I picked up JavaScript: The Definitive Guide and learned a lot online thanks to Codecademy, CodeAvengers, and lots of other great online resources. So, I have a pretty good grasp of JavaScript and use it every day in my job. I still picked up this book when it was released because Duckett's previous book was so important to me and it never hurts to get different perspectives and reinforce my skills and knowledge.
I'm about halfway through this book so far and I love it, I'm learning some new things and understanding some concepts from a different angle than I previously did. So, it's already worth the price. However, this book could have used another pass through by a technical editor. It seems like they switched up how they wrote variables and functions halfway through and forgot to fix all the examples in the book. I'm just finishing the events chapter right now and the final example has grievous errors that prevent the page from working as intended. See below:
function writeLabel(e) {
if (!e) {
e = window.event;
}
target = event.target || event.srcElement;
textEntered = e.target.value;
noteName.textContent = textEntered;
}
Rather, it should be:
function writeLabel(e) {
if (!e) {
e = window.event;
}
target = e.target || e.srcElement;
textEntered = target.value;
noteName.textContent = textEntered;
}
Go to the accompanying website and try it for yourself: the "Audio Note" text doesn't update. I ignored the first few errors like this but when I got to this point in the book I just had to let others on Amazon know of the problems (my first Amazon review!). I like Duckett and want this book to succeed, but it needs another pass by a technical editor before complete novices can get full utility out of it.
Luckily, I have a good understanding of JavaScript so I can see where the errors are and correct them (maybe it's all a test!?). However, this book is intended for people who have never learned any JavaScript before and thus they will not realize the errors in the code. I'm sure the second printing or edition will fix some of these errors. If you're new to JavaScript, I want to recommend this but there are some gaping errors, so you should be careful and back up your learning with other resources.