Javascript Resources

The external resources below contain more information about Javascript.

Information

comp.lang.javascript: A newsgroup dedicated to Javascript/ECMAScript. Many experts read and post to this group, as well as new users. Be sure to read the FAQ and browse the group a little before posting.

comp.lang.javascript FAQ: The Frequently Asked Questions list for the newsgroup. Many common questions are answered here and it contains a lot of valuable information.

Javascript FAQTS: Many questions and answers, although the accuracy and quality of answers are not always consistent.

Quirksmode.org: Much valuable information about practical Javascript and how it is implemented in actual browsers.

Javascript Closures: A detailed document about a programming methodology which takes advantage of Javascript's scope chaining features to provide "inner" functions and often much simpler coding. A must for any experienced Javascript developer wishing to enhance their coding ability.

Tools

JavaScript Coverage Validator: A utility which uses Firefox to analyze javascript source files and report back on which lines have been executed and which have not. This is very useful when writing test cases for automated testing. I use when developing library test cases (see example) to make sure all of the code in the library has a test case written for it.

Standards

In order for Javascript to work consistently and correctly in a browser environment, it is important that your HTML document be correctly coded. If your HTML is bad, you can't guarantee that your Javascript will work correctly.

Javascript is an implementation of ECMAScript, which is a standardized language. Understanding the core of the language and how it supposed to function can often help you figure out why some things work and some things don't.

The DOM, or Document Object Model, defines what objects and functionality are available to scripts. Since the ECMAScript language can be implemented in places other than the browser (server-side, command-line scripts, etc) the DOM is what links the ECMAScript language syntax with the actual browser environment. In most cases, it is a misunderstanding of the DOM that leads to browser incompatabilities and non-working code. There are different versions of the DOM standard, supported to different extents in different browsers. The browsers usually also have additional DOM objects and functionality that are not part of the standards.