If you're starting out with JavaScript for the first time, as most dummies book readers probably are, do NOT buy this one. I don't understand how the editors of the company could allow such a complex, incoherent book to be described as one for dummies [beginners]. The only people whom I think would benefit are those who are already somewhat proficient in JavaScript. In sum, the author is an expert on his subject matter but doesn't have a clue when it comes to communicating. This happens all too often in the world of software, where programmers who become authors, have no idea how to communicate with non-programmers [beginners], the target audience of this book.
The author commits a classic error when writing about topics he knows inside out. He assumes the reader understands and/or is familiar with a wide array of JavaScript/Programming related concepts that are of course 2nd nature to him. So instead of starting out with the absolute basics of JavaScript, explaining them, and progressing accordingly in an organized manner from simple to more difficult, he quickly jumps into somewhat complex programming concepts and procedures. I found this scattered approach a little baffling.
To compound the classic error described above, he states that each element of the scripts he uses as examples, will be explained in detail, but that didn't always happen.
There was another problem that confused me. Maybe the concept was clear to others, but it certainly wasn't for me. On page 36 he said using //<! [CDATA] is a special marker explaining the following code is character information, not XHTML. Fair enough, but only two paragraphs later he shows you how to insert comments by using the very same //, which tells the browser to ignore everything after the //. In one paragraph we are told to use // for a purpose but he then tells us using // instructs the browser to ignore everything after those slashes. Which one is true?
The first two chapters were actually very good in introducing and setting up what I thought would be an excellent book for someone new to JavaScript. However, the author completely lost me in Chapter 3. This chapter introduced the concept of "Conditions" to the reader. My big problem was the fact that the entire chapter was based on the concept of "Random Numbers", an area where most java script beginners like me are totally lost. Who cares about or understands random numbers? Placing a chapter on random numbers so early in the book was in my opinion, confusing and premature. Yes I understood the analogy, but I would much prefer meaningful topics such as inventory, invoicing, billing, etc. Those are concepts that are meaningful in my world, something I could understand and identify with. For me, that chapter was a complete waste of time.
Chapter 4 on Looping was all right. OK, I'm thinking now I can really start learning in Chapter 5, "Functions, Arrays, and Objects". Unfortunately, just like Chapter 3, instead of using real world, meaningful examples to illustrate Functions and Arrays, he utilized some stupid song about Ants Marching. I'm sorry but I want real world, meaningful examples that challenge me every day and I can relate to. That was the final straw so I stopped reading.
Maybe the ensuing information is presented in a better fashion, but after an entire chapter on random numbers and another one on ants marching, I gave up and moved onto a much better organized book for people new to JavaScript.