I’ve been learning JavaScript for a few days now. Yesterday I got stuck and tried to find documentation, to my disappointment there isn’t a “centralized documentation” of the JavaScript language, it’s methods or useful examples. It’s more about experimenting and just listen what your guts tell you. Some have linked me to JavaScript’s model specifications giving me interfaces and what it should return (and so on) others linked me to MDC ( Microsoft Mozilla Development Center ), MDC has nailed it, very easy to understand examples, brief overview of the JavaScript technology and its Data Types, objects constructs and literals (literals has left me quite with a “wow”).
All nice, right? MDC seems like a nice resourceful spot (of course!), now this story will take a plot twist, and it starts when I test my JavaScript code in Internet Explorer, IE yelled errors with nonsense. I took a deep breath, lets do the math! Mozilla: Gecko, Google Chrome: WebKit, IE: well I think it was called “Trident”, and Opera? god knows, I forgot. So these people have different implementations on how to render the web, great! Now, they also have a different way on how to interpret JavaScript, just great! The Internet Explorer team needed to follow Microsoft’s standard, that is, just tweak a few things and claim it. (Like addEventListener converted to attachEvent, extra code is great :) god bless JavaScript libraries for this)
I cried myself to sleep yesterday. I just had one thought in my mind, “why it had to be like this, how about uniting or something… a centralized documentation, SOMETHING!”. I guess that won’t happen, like a fleeting dream :(
Don’t get me wrong, I like some of Microsoft technology (and their C# language). I also secretly like their Bing Search Engine, don’t tell anyone ;)
I’d like to thank Justin Johnson for his great help over StackOverflow, enlightened me :)

Glad I could help mate.
As for reference resources, you’re right, they’re all spread out. I find that MDC is the most useful in general. I believe they mark which features belong to which versions of JavaScript, which is something that you’ll have to watch out for since FF now implements JavaScript 1.6 and IE is still at 1.5. It’s not a big deal, it just means that you can’t reliably use the new features yet until all the browsers are on the band wagon. In the meantime, we just have to use libraries to get around this.
The biggest problem that you’ll probably face is the DOM and it’s API. Most people run up with some crap here and for good reason: it’s a horrible API to begin with plus the fact that different browsers implement it differently. For this problem, you’ll want to check out quirksmode.org, specifically http://www.quirksmode.org/compatibility.html This lists off the major areas of JavaScript compared to their implementation/support in all the major browsers. The areas are further broken down in to property/component/method which is really helpful when working without a library or when you want to do something that your library doesn’t support.
“The biggest problem that you’ll probably face is the DOM and it’s API”, yes… I doubt I’ll run into any problems with the syntax itself but with the scarce DOM API documentation it seems impossible not running into any problems.
One thing I noticed, I don’t know if I’m right or wrong but everything is an object, I grab a node or node list and it returns the node with a list of methods like attaching events etc etc.
Quirksmode is great, checking a few things I came with a conclusion that I’m still missing out more things. Like “how do I know the methods available once I get an object?” or “how do I test in javascript?” (so far I’ve relied on Google Chrome’s JavaScript Console), “how does animation work in JavaScript?” and so on. Not to mention what other objects are available like for instance there is “window”, “document”, and what else.
To be honest, I hated JavaScript myself, mostly ignorance and immature thoughts back then when I was toying with HTML and CSS and didn’t know anything about PHP programming or programming at all. JavaScript for me was the devil, it had this weird complex syntax that didn’t made sense with so many brackets, numbers.
I agree with you on this one though, MDC is the most useful. It made new readers think of the DOM as a tree before introducing them to the syntax. I couldn’t have done all my exercises without any visualization in my mind.