My recommendations:<p>Videos:<p>* YUI Theater talks by Douglas Crockford: <a href="http://developer.yahoo.com/yui/theater/" rel="nofollow">http://developer.yahoo.com/yui/theater/</a> especially:<p>* The JavaScript Programming Language<p>* Advanced JavaScript<p>Websites:<p>* "A Re-introduction to JavaScript": <a href="https://developer.mozilla.org/en/a_re-introduction_to_javascript" rel="nofollow">https://developer.mozilla.org/en/a_re-introduction_to_javasc...</a><p>* Advanced tutorial from John Resig: <a href="http://ejohn.org/apps/learn/" rel="nofollow">http://ejohn.org/apps/learn/</a><p>* MDC Reference: <a href="https://developer.mozilla.org/en/javascript" rel="nofollow">https://developer.mozilla.org/en/javascript</a><p>Books (you can borrow my copies of these if you want):<p>* "JavaScript: The Good Parts"<p>* "JavaScript: The Definitive Guide" is a good reference for both the language and browser/DOM APIs
That list is way too long. JavaScript isn't that big or complicated, even if you include DOM and cross-browser issues (which by virtue of continuous browser changes, you will never learn about from a book).<p>My top 3:
1. Eloquent JavaScript
2. JavaScript the Good Parts
3. High Performance JavaScript (see my review: <a href="http://carcaddar.blogspot.com/2010/07/book-review-nicholas-c-zakas-high.html" rel="nofollow">http://carcaddar.blogspot.com/2010/07/book-review-nicholas-c...</a>)<p>Also, I wouldn't recommend either of Resig's books, despite not reading them. Look at Peter Michaux and David Mark's posts on comp.lang.javascript for criticisms (actually, comp.lang.javascript would be the fourth thing on my list if it was a book).
<i>What if I had to Choose Just 3 Books</i><p>You selection is good but I can't believe that in the "if I could only get three" section, Crockford's the good parts is not #1. I mean it is the seminal work for JavaScript, it should be the first or second book anyone considering doing serious JavaScript should read.
Try to separate the JavaScript language from the additional bindings that the platform gives to you.<p>If you learn client-side JavaScript for use inside the browsers, differentiate what's a language feature and what's part of the DOM.<p>If you learn server-side JavaScript, start by looking over the CommonJS standards as they tend to be the common denominator across the server-side JS implementations.<p>And... experiment. Write a .html on your desktop which references a sample.js and use your browser to check it out and modify the code. Don't rely on technical knowledge for more than a couple of hours without trying out the things in practice. Or, for server-side JavaScript, you can get a free hosting account and browser-based editor at <a href="http://erbix.com" rel="nofollow">http://erbix.com</a> (+), using just OpenId (i.e. your Google account) to sign up.<p>(+) Disclaimer: I'm affiliated with Erbix.
Not a book and not a blog, but if you want to keep up with the latest JavaScript stuff on a weekly basis through e-mail: <a href="http://javascriptweekly.com/" rel="nofollow">http://javascriptweekly.com/</a><p>Yes, it's mine but it's had kudos from folks like Steve Souders and Amy Hoy and almost at 3000 subscribers so I don't feel too bad pimping it. Latest issue is at <a href="http://javascriptweekly.com/archive/5.html" rel="nofollow">http://javascriptweekly.com/archive/5.html</a> if you want a preview.
Eh, in my opinion, unless you're doing server side javascript, the thing you need to learn most about when doing javascript is dhtml. The actual javascript language isn't the hard or strange part of the experince.<p>Most of his links seem to point to actual language esoterica. Only 1 seems to really point at DOM interactions.
Shorter list from hn-books: <a href="http://www.hn-books.com#B0=41&B1=14&B2=89&B3=119&B4=10&B5=97&B6=96&B7=30&BC=8&E0=1&EC=1&FC=0&QC=0&Name=Daniel" rel="nofollow">http://www.hn-books.com#B0=41&B1=14&B2=89&B3=119...</a><p>Note that I included a JQuery book in there. Any more, it's not enough to know just Javascript, you should also know JQuery (and just as importantly you should know when to use it and when not to use it)<p>These are ordered, so the top 3 are the best (in my opinion). The others are really good, but with a topic like this it can easily spin out of control, with hundreds of books getting recommended. Stick to 2-4.
I wish there were more posts like this, explaining which books are suitable for each "knowledge level."<p>My biggest issue has always been that most books assume you know nothing about programming, and so become boring and repetitive, and I learn nothing new.