JavaScript -- A Quick Tour of the Language
JavaScript History
JavaScript (or Livescript, as it was called back then) was invented by Brendan Eich of Netscape Communications, and its name was changed only when Java became a very fashionable Web term.
The first browser to support JavaScript was Netscape Navigator 2.0. It was then that Microsoft saw how useful a Web scripting language would be and released its own variant, called JScript 1.0, with the Internet Explorer 3.0 browser and Internet Information Server software. Microsoft's JScript 1.0 was pretty much compatible with Netscape's JavaScript 1.0, which meant that JavaScript written for one of the browsers had a very good (but not always 100%) chance of working as expected in the other browser.
Later, Netscape released JavaScript 1.1 with Netscape Navigator 3.0 browser and LiveWire Web server software. This version had all the features of JavaScript 1.0 plus many new features and capabilities. Microsoft responded to this by upgrading its own Jscript, but decided not to include all the features included in JavaScript 1.1. This was the beginning of browser incompatibility, in which HTML and scripts written for one browser wouldn't work properly when viewed in the competitor's browser.
Netscape made the JavaScript definition public (that is, they attempted to make their version the most popular by being open with everyone about what they were doing). Shortly thereafter, Netscape agreed with, among others, Microsoft to create a neutral standard. The European Computer Manufacturing Association (ECMA), a Swiss standards body, began developing the standard in November 1996. In July 1997, they released the standard, calling the language ECMAScript. While all this was happening over in Switzerland, Netscape released JavaScript 1.2 with their Netscape Navigator 4.0 browser, and Microsoft released JScript 2.0 for the Internet Explorer 3.0 browser. Neither JavaScript 1.2 nor JScript 2.0 was 100% compliant with the ECMAScript standard (which is sometimes also referred to as ECMA-262).
Those times are now generally looked back upon as being very hard on Web developers the world over. Not only did they need to remember what worked for each browser version, but they also had to somehow create Web pages that worked for both Internet Explorer and Netscape Navigator.
Many believed that things wouldn't get any better and that the standards would continue to drift further apart, while others optimistically clung to the hope that the ECMA standard would catch on and that the standards would once again become compatible.
Thankfully, a lot of this chaos has now given way to a closer adherence to the standards by both parties, with both JavaScript 1.5 and JScript 5.5 being (barring a few minor exceptions retained for backward-compatibility and extensions added by Microsoft and Netscape in anticipation of becoming standards) 100% ECMAScript Edition 3 compliant. This means that, in theory at least, you can write JavaScript that will work equally well in both browsers. However, as you will later discover, other differences in the browsers still mean that it isn't always as easy as perhaps it could be. Tables 1 and 2 chart the history of JavaScript through the browsers.
Table 1—JavaScript Through the Browsers—Netscape JavaScript Versions
Browser |
Version |
---|---|
Netscape 2.0 |
1.0 |
Netscape 3.0 |
1.1 |
Netscape 4.0 |
1.2 |
Netscape 4.5 |
1.3/1.4 |
Netscape 6.0 |
1.5 |
Table 2—JavaScript Through the Browsers—Internet Explorer JScript Versions
Browser |
Version |
---|---|
Internet Explorer 3.0 |
1.0/2.0 |
Internet Explorer 4.0 |
3.0 |
Internet Explorer 5.0 |
5.0 |
Internet Explorer 5.5 |
5.5 |