Simply JavaScript by Kevin Yank and and Cameron Adams, ISBN 0980285801, published by SitePoint.
I've been exposed to very little JavaScript, so I was very happy to get a review copy of this sent to me. First off, I'm a big fan of SitePoint's books, and secondly I was looking forward to a book which would hopefully give me some good ground-up fundamentals. I'm not completely through the book yet, but I'm very impressed with it so far.
The book starts out with some good software design tenets by emphasizing the need to keep content, style, and behavior separated out, then moves into some very basic steps for programming in JavaScript. The programming intro chapter starts out completely for beginners by laying out what variables are, what conditions and loops are, etc. Later chapters hit the DOM, JavaScript libraries, events, debugging, Ajax, and a few other topics.
The authors do a very good job of laying out their topics, and I enjoyed their clear, enjoyable writing style. I think they do a pretty good job of discussing good development, and they're all over things like browser compatibility issues and other "Gotcha!" type issues. They've got a nice set of sidebars for tricks and tips as well as things to look out for.
I also like that it's another SitePoint book with loads of color throughout. I'm not sure how SitePoint does it, but their continuing journey with all the color books is absolutely great to behold.
On the downside, I'm not a fan of some of the example code I saw, which in several cases was more convoluted than good design would dictate (multiple nested for loops, return statements from other method calls being used as return values themselves, etc.). I also would have liked to see some discussion of testing via tools like Selenium or JsUnit.
That said, overall I like the book a lot. They talk standards, they talk cool tools like FireBug, they make some headway with good decisions about separation of code, content, and style.
I'm almost done with the book and have been very happy with its content.