by Marijn Haverbeke is widely considered one of the most effective and elegant introductions to modern programming. It is uniquely available as a free "living" book online, but many developers prefer the PDF version for offline study and annotation. Essential Guide to Eloquent JavaScript (3rd Edition)

: Teaches you how JavaScript interacts with the web, including DOM manipulation and handling browser events.

: An introduction to using JavaScript for server-side development. Quick Stats for Learners

: Estimated at roughly 8 hours for a straight read-through, though it typically takes beginners about 16 days at a pace of 30 minutes per day to digest the exercises.