About the Author

Chris Shiflett

Hi, I’m Chris: entrepreneur, community leader, husband, and father. I live and work in Boulder, CO.

JavaScript Study Guide

A few months ago, I wrote about learning JavaScript. I'm already pretty comfortable with the language, and although I did break the chain, I'm happy to report that I'm still at it. Never stop learning, right?

In case it's helpful to others, I thought I'd mention a few more resources. I may even keep this list updated. If I don't, you can always browse my full list of JavaScript links.

Eloquent JavaScript
This is the interactive tutorial I mentioned in my original post.
JavaScript: The Good Parts
This is the book I mentioned in my original post. Everyone recommends it.
JavaScript for PHP Developers
Very fortuitously, I was asked to review a new book by Stoyan Stefanov shortly after I began learning JavaScript. I loved it. Stoyan wrote an article for PHP Advent called JavaScript for PHP Developers. Read that, and if you like it, order the book.
PHP Functions in JS
This is a fantastic list of PHP functions implemented in JavaScript. If you want to see how you would do something in JavaScript, this is a good place to start.
JavaScript Patterns
Several people have recommended that I read this book, also by Stoyan Stefanov.
3 Ways to Define a JavaScript Class
After I learned there are no classes in JavaScript, I found this great post by Stoyan explaining the issue in great detail.
Learn JavaScript
This is a great list of JavaScript resources maintained by Mozilla.
JavaScript Garden
A really good collection of documentation about the most quirky parts of the JavaScript programming language. Recommended by Robert Huzzey.
As an unapologetic pedant, I love anything that enforces rigor, especially when I'm in unfmiliar territory. Just as you might rely on the W3C Validator to make sure your HTML is valid, JSLint is a great tool for checking your JavaScript.
Learning Advanced JavaScript
An interactive tutorial from John Resig that's a good step up from the basics.
Crockford on JavaScript
I have not watched these yet, but everyone says Douglas Crockford is a great teacher. This is a nice compilation of videos, transcripts, and photos from his acclaimed series of lectures on the history of JavaScript, its features, and its use.
Introducing Scratchpad
An introduction to Firefox's web developer tool called Scratchpad. The browser is the best place to experiment with JavaScript, especially once you get past learning the basic syntax.
Essential JavaScript Design Patterns For Beginners
This looks like a good list of common JavaScript design patterns, complete with explanations and examples. Probably best used as a reference. I started to read it from start to finish, but that gets boring pretty quickly.
The Complete jQuery Tutorial
This has been recommended to me as a great place to start learning jQuery, the popular JavaScript library.

That's my list. What did I miss?

About this post

JavaScript Study Guide was posted on Thu, 26 Apr 2012. If you liked it, follow me on Twitter or share:


1.Robert Huzzey said:

How about javascript garden?


Thu, 10 May 2012 at 16:02:51 GMT Link

2.Chris Shiflett said:

That looks fantastic. Thanks, Robert.

Adding it to the post. :-)

Thu, 10 May 2012 at 16:07:39 GMT Link

3.Wayne Wonder said:


Free book that is pretty awesome for JS OOP.

Thu, 10 May 2012 at 16:54:44 GMT Link

4.Wayne Wonder said:



is amazing for jquery.

Thu, 10 May 2012 at 16:55:49 GMT Link

5.Clarence Leung said:

Check out DailyJS:


They have a lot of good tutorials, notably the "Let's Make A Framework" series, which basically teaches you how to make a JavaScript framework like jQuery from scratch. It's a bit more advanced, but great for the really serious high-performance JavaScript developers.


Thu, 10 May 2012 at 16:57:46 GMT Link

6.Rob Friesel said:

I've always though of Zakas' Professional JavaScript for Web Developers as the text book to the JS master class. It's long, but it's thorough.

Great list though.

Thu, 10 May 2012 at 17:26:33 GMT Link

7.John Schulz said:

Glad you're sticking with it.

I'll co-sign Padolsey's comments on PHPjs and add that JSHint is my preferred linter.

Thu, 10 May 2012 at 17:38:55 GMT Link

8.Robert Huzzey said:

Here's another great post I just finished reading all about OOP & inheritance in js:


Gotta say though, I learnt most of my OO JS from stoyan's awesome book! ;)

Thu, 10 May 2012 at 18:45:22 GMT Link

9.Andrew Gale said:

How could you forget


Thu, 10 May 2012 at 20:12:13 GMT Link

10.David Anderson said:

You missed the best and most comprehensive JS book of all time.

Javascript: The Definitive Guide

Thu, 10 May 2012 at 23:15:17 GMT Link

11.Cody Lindley said:

You might find some useful stuff in this slide deck.


Fri, 11 May 2012 at 15:23:03 GMT Link

12.Michael Cantera said:

Can anyone recommend a good resource for learning how to properly structure a JavaScript application?

I have a handle on the object creation and inheritance patterns, but I'm fuzzy on what to actually define as classes and what attributes to assign to them.

I've looked into the JS MVC frameworks (Backbone and Spine), but they're a little over my head at the moment. Kind of like learning Zend before you've really mastered PHP fundamentals.

I'm coming from a PHP background and figured it's likely Chris and others have run into this issue as well. Something that explains JS MVC app structure with a PHP backend would be especially valuable.

Sat, 26 May 2012 at 02:01:04 GMT Link

13.Tim Lind said:

I wrote a core library to help me understand Javascript better, and to smooth some of the rough edges of the language.

Check out the readme and QuickStart guide:


Thu, 07 Jun 2012 at 12:16:07 GMT Link

14.Rob Sherwood said:

Great list, thanks Chris!

Particularly like the PHP functions in JS link - a massive help. Cheers.

Thu, 07 Jun 2012 at 16:42:36 GMT Link

15.Jesus Bejarano said:

I am right now into Nicholas C.Zakas's book javascript for web developers , 964 pages, but is a excellent encyclopedia, you should try it out

Wed, 04 Jul 2012 at 16:19:21 GMT Link

Hello! What’s your name?

Want to comment? Please connect with Twitter to join the discussion.