Ask YC Hackers: What's the best text for learning Javascript?
For a long time I've treated Javascript as a "second class citizen" and eschewed it in favor of Scheme, Java, Ruby, and (lately) Erlang. Now that I'm managing and coding with not just server-side hackers, but hardcore UX hackers as well, I'm realizing that I would like to become a solid Javascript developer as well.
What's the best Javascript text for an experienced developer?
(
22 comments
| 46 points
| on HN
)
"Bad Books
Nearly all of the books about JavaScript are quite awful. They contain errors, poor examples, and promote bad practices. Important features of the language are often explained poorly, or left out entirely. I have reviewed dozens of JavaScript books, and I can only recommend one: JavaScript: The Definitive Guide (5th Edition) by David Flanagan."
http://javascript.crockford.com/javascript.html
Also, make sure you watch his tutorial videos. They're awesome! There is a series of four intro videos and three advanced videos:
http://video.yahoo.com/video/play?vid=111593 http://101out.com/js_advanced.php
http://www.buy.com/prod/javascript-the-definitive-guide/q/lo...
I would also recommend his series of videos on js (I think they are from internal yahoo presentations). There are 3:
"The JavaScript Programming Language" http://video.yahoo.com/video/play?vid=111593&fr=
"Advanced JavaScript" http://video.yahoo.com/video/play?vid=111585
"Theory of the DOM" http://video.yahoo.com/video/play?vid=111582
+1 on Flanagan
edit: Get the 5th Edition. See nickb's comment.
Also check out 'Pro Javacsript Techniques' by John Resig.
Read this article on closures which is the best description I have read of such a crucial crucial aspect of the language: http://jibbering.com/faq/faq_notes/closures.html
Also read Crockford: http://javascript.crockford.com/
I'd recommend that, and of course the Definitive Guide. Look for the Rhino.
Once you have learned javascript, DHTML: The Definitive Reference is a great desktop reference, although it's less important now that javascript libraries are so good.
http://prototypejs.org/api
Knowing how to wield a library like Prototype or JQuery will increase your javascript speed and efficiency 10 fold!
http://www.amazon.com/JavaScript-Definitive-Guide-David-Flan...