I used to think of JavaScript as only good for adding fancy little effects in web pages, like image roll-overs. In fact it is a fully-fledged programming language capable of complex actions both in web pages and in other environments. As you learn the language you start thinking of serious uses for it. For example, we used to ship a product on DVD consisting of a database of images and video clips. Now we have replaced the whole database with some HTML pages, with embedded JavaScript to provide all the searching and sorting capabilities that used to require a heavyweight proprietary database run-time package.
This book starts by explaining the whole language in detail; then there is a comprehensive reference section, a general index and an index of built-in classes, properties and methods. If you are completely new to programming, and unsure about variables, functions, statements, expressions or objects, then you might want to find a gentler introduction than this. But if you already have some familiarity with programming in general and a working knowledge of HTML and CSS, then this book will be all you ever need on the subject. (Marini's book on the Document Object Model might offer some extra detail on manipulating structured documents.)
Comprehensive, well written and presented, good value.