It has been 16 years since JavaScript was born in 1995. Today, countless web pages around the world rely on it to complete various key tasks. JavaScript once ranked 8th in the programming language rankings released by Tiobe, following C# and JavaScript. From a decorative scripting language in the past to a mainstream programming language, people use it to develop larger and more complex programs. This requires web developers to have a deeper understanding of JavaScript and its past, present and future.
A brief history of JavaScript
Around 1992, a company called Nombas began to develop a tool called C-minus-minus (Cmm for short) ) embedded scripting language. This scripting language was bundled in a shareware product called CEnvi. When Netscape Navigator came to prominence, Nombas developed a version of CEnvi that could be embedded in web pages. These early experiments were called Espresso Pages, and they represented the first client-side scripting languages used on the World Wide Web. Nombas had no idea that its concept would become an important cornerstone of the Internet.
As Internet surfing becomes more and more popular, the need for developing client-side scripts also gradually increases. Brendan Eich, who was working at Netscape at the time, began to develop a scripting language called LiveScript for Netscape Navigator 2.0, which was to be released in 1995. The purpose at that time was to use it on both the browser and the server side. Netscape teamed up with Sun to complete LiveScript implementation in a timely manner. Just before Netscape Navigator 2.0 was about to be officially released, Netscape changed its name to JavaScript in order to take advantage of the Internet buzzword Java. Netspace's bet eventually paid off, and JavaScript has since become an essential component of the Internet.
ECMAScript Standard
Because JavaScript 1.0 was so successful, Netscape released version 1.1 in Netscape Navigator 3.0. At that time, Microsoft decided to get into browsers and released IE 3.0 with a clone of JavaScript called JScript (named this way to avoid potential licensing disputes with Netscape). Although Microsoft's important step into the field of web browsers made it infamous, it also became an important step in the development of the JavaScript language.
After Microsoft entered, three different JavaScript versions existed at the same time: JavaScript in Netscape Navigator 3.0, JScript in IE, and ScriptEase in CEnvi. Unlike C and other programming languages, JavaScript does not have a standard to unify its syntax or features, and these three different versions highlight this problem. As the industry's concerns increase, this language standardization is obviously imperative. In 1997, JavaScript 1.1 was submitted as a draft to the European Computer Manufacturers Association (ECMA), and TC39, composed of programmers from Netscape, Sun, Microsoft, Borland, and other companies interested in scripting, hammered out ECMA-262 , this standard defines a new scripting language called ECMAScript. Since then, web browsers have worked hard (albeit with varying degrees of success and failure) to use ECMAScript as the basis for JavaScript implementation.
Although ECMAScript is an important standard, it is not the only part of JavaScript, and certainly not the only part that is standardized. In fact, a complete JavaScript implementation is composed of the following 3 different parts
• Core (ECMAScript) - The core of JavaScript ECMAScript describes the syntax and basic objects of the language
• Document Object Model (DOM) ——DOM describes the methods and interfaces for processing web content
•Browser Object Model (BOM)——BOM describes the methods and interfaces for interacting with the browser
JavaScript version history
Due to historical reasons and the continuous development of technology, there are many versions of JavaScript, and the implementation of various browsers is also different. The author has sorted out the various versions of JavaScript and the corresponding browsers based on various aspects of information. Implementation, this is also the main purpose of this article. Everyone is welcome to provide opinions and improve it together.
版本 | 发布日期 | 基于 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Chrome |
1.0 | 1996年3月 | 2.0 | 3.0 (JScript 1.0)(1996年8月) | |||||
1.1 | 1996年8月 | 3.0 | 3.0 (JScript 2.0)(1997年1月) |
|||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 第一版 (1997年6月发布)/ ECMA-262 第二版 (1998年6月发布) | 4.06-4.7x | 4.0 (JScript 3.0)(1997年10月) | ||||
1.4 | Netscape Server Only |
JScript 4.0 (Visual Studio 6, no IE release) 5.0 (JScript 5.0)(1999年3月) |
||||||
1.5 | 2000年11月 | ECMA-262 第三版 (1999年12月发布) | 6.0 | 1.0 |
5.5 (JScript 5.5)(2000年7月) 6 (JScript 5.6)(2001年10月) 7 (JScript 5.7)(2006年10月) 8 (JScript 5.8)(2009年3月) |
|||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | |||||
1.8.1 | 2009年6月 |
1.8 + Native JSON support + Minor Updates | 3.5 | |||||
1.8.5 | 2010年7月 |
1.8.1 + ECMAScript 5 Compliance | 4 | 9 |
||||
2.0 | 制定中 |
ECMAScript Harmony |
[Ctrl A select all Note: