Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Foundations Strings Methods: Part 1

Kyra Fillmore
Kyra Fillmore
12,430 Points

Other suggestions for learning JavaScript?

Any other suggestions of places to learn JavaScript. These lessons are just not doing it for me.

Lush Sleutsky
Lush Sleutsky
14,044 Points

Pairuptocode.com has some practice exercises. The book "A Smarter Way To Learn JavaScript" has decent examples and practice as well. You could try sites like Codecademy(free) or Code School and Lynda.com also have good resources (both are paid sites). Hell even W3Schools isn't all too bad for beginners, despite the bad rap they get. Beyond that, I would just get samples of code, copy and paste it into sometihng like CodePen or JSFiddle, and practice by changing the code around to see what affects what. JavaScript is very tricky, and can get much harder when you get thrown for a loop (no pun intended) by a teacher who is very good at it, but not so good at teaching it to a beginner. Not to mention different teaching methods from instructor to instructor can cause all sorts of confusion! But. modifying and practicing with various code and doing it yourself is the best way to learn any computer programming language. Good luck!!!

6 Answers

James Barnett
James Barnett
39,199 Points

Treehouse is actually currently working on a new version of JavaScript Foundations which will be released later this month.

In the meantime you might want to check out CodeSchool's JavaScript Road Trip and JavaScript and JQuery: Interactive Front-End Web Development (it's the #1 selling JavaScript book on Amazon)

Michael Pitts
Michael Pitts
11,066 Points

I have this book (was on my Christmas list), and it is really well written and easy to follow. I also have Duckett's HTML & CSS Design and Build Websites book, and I love it as well. These books are about the least boring you can get while still acting as a sort of reference book. The pages are colorful and full of images that make it even more appealing. I highly recommend these books, and If he puts out any more books I will likely get them.

James Barnett
James Barnett
39,199 Points

Most of those are for the advanced beginner, with the exception of HTML Dog and MSDN.

You might want to check out http://learn.appendto.com/lessons as well for the advanced beginner

I found that learning jQuery helped me out a LOT... it is more straightforward to me than Javascript, probably because I understood CSS beforehand, and it uses CSS selectors. I think it is easier for designer-types to learn, plus it has the added advantage over Javascript of having better cross-browser support.

James Barnett
James Barnett
39,199 Points

I agree. All of the projects I made while learning JavaScript were actually jQuery projects.

I'd say after you learn CSS you should alternate back and forth between vanilla JavaScript and jQuery until you've learned basics of both.

  1. Learn CSS
  2. JavaScript part 1 (variables, conditionals, loops)
  3. jQuery part 1 (traversing, events)
  4. Practice using JSBin
  5. JavaScript part 2 (arrays, functions)
  6. jQuery part 2 (JSON, AJAX, promises, forms)
  7. More Practice using JSBin
  8. JavaScript part 3 (objects, closures, prototypes)

The CodeSchool courses map on to this pretty well.

Guilherme Uhelski
Guilherme Uhelski
2,801 Points

If you are just getting started I think it would be better to develop a good foundation of vanilla (pure) JavaScript first and only then get into jQuery. Check out Marijn Haverbeke's Eloquent JavaScript: http://eloquentjavascript.net

James Barnett
James Barnett
39,199 Points

If you are just getting started I think it would be better to develop a good foundation of vanilla (pure) JavaScript first and only then get into jQuery.

The time to worry about vanilla JavaScript is after you can write a program of limited complexity (100 lines) then it's time to move to intermediate JavaScript.

Guilherme Uhelski
Guilherme Uhelski
2,801 Points

James, do you know the definition of vanilla JavaScript? It has nothing to do with complexity or line numbers, it's pure JavaScript, maybe this can help you learn about it: http://alistapart.com/blog/post/choosing-vanilla-javascript

James Barnett
James Barnett
39,199 Points

It has nothing to do with complexity or line numbers

Sure it does.

You should attempt projects at your current skill level, complexity of programs are often referred to by number of lines of code. A widget that is 100 lines is a almost certainly simpler than a widget that is 10,000 lines.

Learning best practices, learning more about debugging, writing performant code all correlate to the level of ability you currently have.

Sean T. Unwin
Sean T. Unwin
28,690 Points

James Barnett,

The time to worry about vanilla JavaScript is after you can write a program of limited complexity (100 lines) then it's time to move to intermediate JavaScript.

I have to disagree here. There is no time you should NOT worry about JavaScript if you are using it. Although, I think 'worry' is the wrong word here, rather I would word it as 'think' or 'contemplate' about JavaScript.

I feel this way regardless of skill level or if using a framework or library. To at least try to understand what the code is doing as well as why and how are very important to anyone that aspires to become a JavaScript or front-end developer.

Even if one doesn't understand or even to an extent know what questions to be asking, seeking out a better understanding or more knowledge is a good thing. The worst advice to give someone is to keep an unopened door closed.

Learning best practices, learning more about debugging, writing performant code all correlate to the level of ability you currently have.

Not necessarily. The way to get better is by learning about what you mentioned, not waiting for a milestone to happen before one takes that path. At the very least be aware of the path so one can go back down there when ready.

I agree with James Barnett when he says that Eloquent JS isn't for beginners. It's not. It's for people who already have an understanding and it doesn't really teach you. The author just breezes through the instructions and definitions while trying to be funny. The other links that Sean T. Unwin suggested I'm not familiar with, except HTML Dog, which actually is for beginners and is pretty good too.

I've tried many tutorials, Code School, Code Academy, Thinkful, Udemy and even Reddit. The best, hands down, for learning JS, is Treehouse, and this is after I walked away from the CSS & HTML courses a while ago.

I believe the best way to go about using Treehouse's Library is to click on the "Difficulty" link and start from the very first "Beginner" course. Otherwise, you'll be hopping around getting more confused.

Guys, guys, guys... let's not fight over this now!! Lol...

Kyra Fillmore I think the real question is what is your end goal? From your profile it looked like you had taken a lot of css and design-related courses here on Treehouse... So, I made an assumption you may be trying to learn how to be a designer. If becoming a designer is your end goal, then learning all the ins and outs of Javascript probably won't suit you. JQuery would be much more suitable because it is easier to pick up if you already know CSS, and it's preferred over Javascript by most designers.

<p>I would really recommend codeacademy's javascript track you don't know what you are doing or why but you get familiar with syntax</p>

<p>Then when you start watching Jim's videos you start realize the actual CS concepts that he is explaining</p>

<p>Eloquent Javascript is fantastic but stick with chapter 1-6 until you start feeling pretty comfortable with coding on your own. </p>

<p>In order to know if you are comfortable I have that Hacker Rank is a great code challenge platform. </p>

<p>A lot of people recommend Coder Byte I find Coder Byte kind of annoying and not very intuitive</p>