Level 0 “Java?”
You can make minor changes to a simple script, slab copy-pasted scripts from the internet onto your page and test scripts with an alert()-call.
Level 2 “I’ve made a page and this is the script”
- You can write simple functions and make calls to them.
- You can debug scripts with console.log().
- You know what an array is and when to use one.
Level 3 “I proudly use jQuery”
- You know how to attach scripts to events properly.
- You are able to write and work with “plain objects”.
- You know why eval() is evil, and you know who the evil twin sisters of eval() are.
Level 4 “Hold on, I’m stepping through my code in FireBug”
- You can write fairly complex functions and “subfunctions”.
- You have a fair understanding of what closures are, and what good they’ll do.
- You have a deep understanding of what can be done on which browser, and what can’t.
Level 5 “My code is JSLint-proof”
- You can write pluggable and well-maintainable code with anonymous functions in complex constructs.
- You have a fair understanding of how a framework works internally, and why things work (or don’t) work the way they do.
- You have a blog or other online resource with up-to-date resources that are actually useful.
- Every now and then, you invent some new technique that no one else has thought of.
- You can write complex algorithms such as parsers/lexers, artificial intelligence, game theory, statistics, and algebra.
//copy-pasted from thefrontendlab.com