I won’t lie to you, this one is my favourite. It’s well done, the interface is nice and very easy to handle. You will start with the basics, and every time you make progress you will be rewarded by a badge (achievement unlocked, gamers !) a nice pat in the back or given encouragements if you have some troubles. It really feels like the people who wrote the lessons and exercises want you to succeed and are giving you all the keys, the support and the knowledge they can provide. Be patient, young padawan, and you will really be able to go further than you expected.
This website content is also available in other languages but don’t forget : english is the key when it comes to developing.
Here the interface is a bit messier and the content is also more playful, still very interesting nonetheless. Even without being logged in, the Khanacademy will keep a track of your progress. Introductions, exercises and quizzes. You can check the content of the lessons before you engage the fight, and it also starts with the very basics before going on with everything that’s funny in JS: animations, even drawings before it goes further into serious stuff with variables, functions, looping… And a lesson about how to make your code clean, readable and easy to debug and maintain.
Someone said “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”
Keep that in mind, young padawan.
If you’re an adventurer at heart of if you simply like the Matrix movies you can give a try to JSDares. It will help you create little games, make you see the code of others, debugs some parts, rewrite others, everything in green font on a black background… Does this ring a bell? Hello, Agent Smith ?
For every game, a modal window will open with three tab. Dare, with the current game and the instructions, a console tab and an information tab, providing the information you may need to go on.
If I introduce this one in third position it’s because it’s not for casual learners but more for people with a strong sense of challenge. Gamers, I’m looking in your direction.
This is an opensource project but if you want to learn, you will have to register. The dares can still be available without being logged in, though.
Beside, all those websites are not only teaching you JS but also the very basics of programming, the logics and many keywords you’ll find in other languages. All these people want you to learn, to spread the knowledge, and that, my friends, is what the internet is for.