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

  • I am somewhere between a 1 and 2 . Kind of scary to see how much I have to learn about a language that is widely used. This has really been a challenge for me to learn.

  • Well tha jQuery part is tricky…. I know so many people that use jQuery but don’t even know js prototype based…

  • I am at early stages of Level 6.

  • Ramit Garg

    I am early stage of 4…:(

  • I am somewhere between 4-5, but i am bit confused why Jquery is considered if we are talking about Vanilla Javascript

  • Mark

    Mid-Level 5 getting there

  • Joan

    I think I’m almost 5…

  • M4TT30

    I’m in the early 6th stage… :)

  • jsc42

    jQuery? What’s that? Oh yes – I remember – it is a tool to make writing code that is unreadable and is overly complex to perform simple tasks.
    I don’t use JSLint. there are some features of JavaScript where there are two or more equally acceptable alternatives. JSLint is a good tool for making the decision for yopu; but if you have evauated the alternatives and picked one that differs from its choice then it will complain at you. I know that it is customisable and most of its decisions are sensible; but it does try to force you down one man’s specific biases.

  • Raju Bera

    I am at early stage of level 6. I still need to do a lots of thing.
    If any one find any difficulty or any one want to contribute to JavaScript market with new implementations, pls contact me at beraraju2@gmail.com

  • I’m on level 4

  • Hasan

    between 4 and 5

  • As far as I know theemre are some good uses of eval. For example JSON parsing. Could someone tell me, what are the evil twinsisters of eval?

  • Jeck Lamnent

    6 without blogging.

  • Stephanie Hughes

    I am currently at level 2 and want to go all the way to level 6. Also want to learn OOD JS and Angular JS Server dynamic web page updates using MVC.

  • JustinMacCreery

    Well, I would have considered myself level 5 except in level 4, it says “You have a deep understanding of what can be done on which browser, and what can’t.” and I’m not sure I can say that with the greatest confidence now that watches, televisions and other new devices are arriving with browsers. Also, I guess I never thought about WHY Javascript doesn’t have classes. Thanks for bringing that up. I found a great article on the subject:
    http://www.i-programmer.info/programming/javascript/3354-javascript-doesnt-need-class.html

  • Next post in the line: What level of JQuery are you in? :)

    Because JQuery IS JavaScript (at least for a majority of the newb developers). :)

  • I am currently at Level5.

  • Rob

    Currently a level 5. I’d really like to work up to a level 6 within’ the next year or so.

  • I’m in 5 stage, but my functions are transforms in methods of objects.

  • Wayne

    I’m at level 5. The skills detailed within each level prior, reflect the journey I made with good accuracy.
    Great compilation.