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.
- comp.lang.javascript FAQ Additional Notes: More FAQs and some excellent documents detailing some topics.
- 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.
- Document Object Model FAQ
- DOM (Core) Level 1: Basic interface supported nearly fully by almost all browsers, dealing with things like the Document and dealing with Nodes
- DOM (HTML) Level 1: The standard way to interact with HTML documents, including forms and specific HTML elements.
- DOM (Core) Level 2: Enhancement to the Level 1 DOM including more features and functionality.
- DOM (Events) Level 2: Standardization of the event model.
- DOM (Style) Level 2: Standard way to interact with Stylesheets and CSS rules via ECMAScript
These links have notes on browser compatability with the DOM standards.

All Contents Copyright ©