Professional JavaScript for Web Developers, 2012, by Nicholas C Zakas
Professional JavaScript for Web Developers, 2012 (OBSOLETE)
This is outdated today. There's a new edition, but by different author.

This is a excellent book.
Good: for more experienced frontend wed dev who are familiar with “design patterns”. Covers both JavaScript and DOM.
This book takes design patterns approach. Also, the book uses terms such as “references” to explain JavaScript concepts, even though JavaScript the language does not really expose that concept.
see JavaScript, Design Patterns Approach to Computer Language Tutorials
Because of the Design Patterns approach, i really dislike this book, however, it has solid material, covering both the language and DOM completely.
Nicholas C Zakas was a lead developer at Yahoo.