JavaScript is cross-platform, cross-browser language; javascript is everywhere; web, RIA (rich internet applications), mobile, tablets, animations and even on server with the advent of node.js. Javascript is the language of the future.
I started off with jQuery without knowing anything much about javascript because by the time I didn’t find any reason to learn it due to fact that javascript libraries did everything we needed putting complexities out of the way. Today I realize that I chose the wrong path, a good understanding of javascript language is crucial if you look at the reasons I have mentioned in the very beginning but it is never too late to start again, that’s exactly what I have decided, learning javascript seriously. I am not the only one who has started realizing the power and future of javascript, there are giants who have started learning it too. If you are also javascript-library-only developer, or even copy-paster programmer, you should really learn javascript !
Despite design flaws and bad reputation of the language as they say and probably rightly so, javascript is popular and language of the choice for those who have gone into deeper understating of it. Javascript language does have bad parts but its good parts over-weigh its bad parts and there is always room to avoid bad parts if you know the language right and use it effectively.
Javascript turns out to be extremely tricky language, consider:
// Comparison '' == '0'; //false 0 == ''; // true 0 =='0'; // true // Type checking typeof null; // object // Scope function myFunc() { return { name: 'sarfraz' }; } var f = myFunc(); console.log(f); // undefined
I did a lot of research to find best javascript learning resources. On the journey of my exploration, I came across some of the great resources with a lot of reviews and user feedback. By now, if you made your mind to take javascript seriously, here are the best resources out there you should check out.
Books
- JavaScript: The Good Parts by Douglas Crockford
- Secrets of the JavaScript Ninja by John Resig
- Pro JavaScript Techniques by John Resig
- High Performance JavaScript by Nicholas C. Zaka
- JavaScript: The Definitive Guide by David Flanagan
Online
- Eloquent JavaScript by Marijn Haverbeke
- The JavaScript Tutorial
- JavaScript Guide MDN
- JavaScript Garden (For intermediate & advanced programmers – must read !)
Videos
- appendto.com
- Douglas Crockford’s JavaScript Video Series
- JavaScript: The Good Parts (To get overall idea of language and its good and bad parts)
Blogs to Subscribe
- PerfectionKills
- Dmitry A. Soshnikov
- JavaScript, JavaScript
- Adequately Good
- John Resig
- 2ality
- Notes of Maks Nemisj
- Addy Osmani
- Bonus: 33 Developers you MUST Subscribe to as a JavaScript Junkie
Tools
- JSHint (JS Code Quality Tool)
- JSPerf (JS Performance Testing)
- JSUnit (JS Unit Testing)
- JSCoverage (JS Code Coverage)
- JDDoc-Toolkit (JS Documentation Tool)
- Bonus:50 Useful JavaScript Tools
Let’s start… 🙂
I just started learning JavaScript and I found Codecademy.com to be a great resource for beginners like me. Do you mind me asking which resource you used to study jQuery? I was hoping on getting started on that soon. Thank you very much!
I’m new to this whole blogging thing, so I’m not sure if I’m supposed to ask for your permission if I want to reblog your post?
Yes codeacademoy.com is good place to start with. I had personally started off with jQuery by reading excellent book “Learning jQuery” and interacting on stackoverflow.com.
As for reblogging, as long as you put the link of this/original article there, you can go ahead. Thanks
Thank you!
Reblogged this on clueless in seattle and commented:
A great compilation of resources for learning JavaScript
Thanks !
No…thank YOU!
I knew JavaScript long before jQuery was invented. I was never much good at it though, and jQuery allows me to do things much, much faster than in vanilla JavaScript. In plain JavaScript something that I thought would take me an hour would end up taking all day. Fortunately with jQuery those things do only take an hour now.
Hi,
the sintax
!function (…){}()
although running fine, in marked as warning in JS bin, and i presume in jshint too.