Recs.
Updated
Eloquent JavaScript is a free and interactive ebook that is a nice balance between learning the core theoretical concepts and getting hands on with the code.
Specs
Pros
Cons
Con Overkill for experienced programmers looking to learn JavaScript
This book is less useful to people that already are well versed in programming and just want to pick up another language to add to their portfolio as it covers a lot of fundamentals of programming that can be skipped by experienced programmers.
Con Requires fast learning in order to understand complex topics
From chapters one through five, the reader will find this book easy to follow and the topics and concepts steadily increase in complexity. However, once you enter the later chapters, you will require a more rounded understanding of the language and should certainly complement the book with other learning material.
Con Not a great place to start for those without programming experience
This book is a beneficial supplement to other learning material, or for those who have experience with another programming language. However those new to programming will likely find themselves struggling with the fast pace of Eloquent JavaScript and the difficult-to-follow examples.