Your JavaScript level

Level 0 “Java?”

All you know is that is has to do with the web. “Javascript is something like Java, right?”

Level 1 “I know Javascript”

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 know that Javascript has only objects and no classes, and why.
  • 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 built a good number of tools in javascript for the purpose of education, fun, or just to “see if it can be done”.
  • You know how to write proper object definitions with inheritance, the javascript way.

Level 6 “Writer of Narcissus, the javascript engine written in… javascript”

  • You have a blog or other online resource with up-to-date resources that are actually useful.
  • You participate in the development of a framework, javascript engine, or other javascript intensive tool such as FireBug
  • 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