Background

JavaScript is the dynamic scripting language in web browsers. It is typically embedded in HTML documents to be interpreted by the browser for client side processing. It was also used as a server side scripting language on certain web servers, most notably Netscape Enterprise Server (now iPlanet Web Server), though this is uncommon today.

JavaScript was designed and implemented in 1995, during the development of Netscape Navigator 2.0. The primary architect was Brendan Eich. Originally called LiveScript, it was renamed to JavaScript shortly before being annouced to the public by Netscape and Sun on December 4, 1995. The name has since been a constant source of confusion, as Java and JavaScript are two very different technologies. The new name associated the two because one of the key uses for which it was designed was as a scripting language to control Java applets. Web designers generally found it more useful for animating images in response to mouse events, validating forms, and other types of DHTML.

After the release of Netscape 2, Microsoft released Internet Explorer 3.0, with VBScript (now abandoned by MS on the browser, but still used for scripting on IIS) and "JScript" support, the latter being a mostly compatible JavaScript implementation. The incompatibilities led Sun and Netscape to submit the language to the European Computer Manufacturers Association (ECMA) for standardization. The end result is sometimes called ECMAScript.

Today's JavaScript is a surprisingly powerful language, with associative arrays, regular expressions, full featured date, math and string classes. It is still hindered by the existance of mutually incompatible implementations and a huge, slow to upgrade, user base.

Language Details

ECMAScript
JavaScript objects

Examples

How to do a mouseover
status bar rollover
Javascript Function to Locate a Substring
Javascript Function To Calculate Gravitational Escape Speeds
Javascript Function to display current file information
A Vigenère Square in Javascript

Miscellaneous

DHTML
Ajax
document object model
E2 Bookmarklets
Everything Javascript Goodies
Javascript events
abusive JavaScript
Right-click trap
location.replace()