偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JavaScript的過(guò)去、現(xiàn)在和未來(lái)

開(kāi)發(fā) 前端
有人說(shuō)喜歡一個(gè)人,沒(méi)必要了解她的過(guò)去,然而想讀懂一個(gè)人,卻需要了解她的過(guò)去。JavaScript自1995年誕生以來(lái)已過(guò)去了16個(gè)年頭,如今全世界無(wú)數(shù)的網(wǎng)頁(yè)在依靠她完成各種關(guān)鍵任務(wù),JavaScript曾在Tiobe發(fā)布的編程語(yǔ)言排行榜中排到了第8名,緊隨C#,JavaScript從過(guò)去裝飾性的一種腳本語(yǔ)言轉(zhuǎn)變?yōu)橹髁鞯木幊陶Z(yǔ)言,人們用它來(lái)開(kāi)發(fā)更大更復(fù)雜的程序,這就需要Web開(kāi)發(fā)人員更深入的了解JavaScript,了解它的過(guò)去、現(xiàn)在和未來(lái)。

有人說(shuō)喜歡一個(gè)人,沒(méi)必要了解她的過(guò)去,然而想讀懂一個(gè)人,卻需要了解她的過(guò)去。JavaScript自1995年誕生以來(lái)已過(guò)去了16個(gè)年頭,如今全世界無(wú)數(shù)的網(wǎng)頁(yè)在依靠她完成各種關(guān)鍵任務(wù),JavaScript曾在Tiobe發(fā)布的編程語(yǔ)言排行榜中排到了第8名,緊隨C#,JavaScript從過(guò)去裝飾性的一種腳本語(yǔ)言轉(zhuǎn)變?yōu)橹髁鞯木幊陶Z(yǔ)言,人們用它來(lái)開(kāi)發(fā)更大更復(fù)雜的程序,這就需要Web開(kāi)發(fā)人員更深入的了解JavaScript,了解它的過(guò)去、現(xiàn)在和未來(lái)。

JavaScript歷史簡(jiǎn)述

大概在1992年,一家稱作Nombas的公司開(kāi)始開(kāi)發(fā)一種叫做C減減(C-minus-minus,簡(jiǎn)稱Cmm)的嵌入式腳本語(yǔ)言。這個(gè)腳本語(yǔ)言捆綁在一個(gè)叫做CEnvi的共享軟件產(chǎn)品中,當(dāng)Netscape Navigator嶄露頭角時(shí),Nombas開(kāi)發(fā)了一個(gè)可以嵌入網(wǎng)頁(yè)中的CEnvi的版本。這些早期的試驗(yàn)稱為Espresso Page(濃咖啡般的頁(yè)面),它們代表了***個(gè)在萬(wàn)維網(wǎng)上使用的客戶端腳本語(yǔ)言。而Nombas絲毫沒(méi)有料到它的理念將會(huì)成為因特網(wǎng)的一塊重要基石。

當(dāng)網(wǎng)上沖浪越來(lái)越流行時(shí),對(duì)于開(kāi)發(fā)客戶端腳本的需求也逐漸增大。當(dāng)時(shí)工作于Netscape的Brendan Eich,開(kāi)始著手為即將在1995年發(fā)行的Netscape Navigator 2.0開(kāi)發(fā)一個(gè)稱之為L(zhǎng)iveScript的腳本語(yǔ)言,當(dāng)時(shí)的目的是同時(shí)在瀏覽器和服務(wù)器端使用它。Netscape與Sun公司聯(lián)手及時(shí)完成LiveScript實(shí)現(xiàn)。就在Netscape Navigator 2.0即將正式發(fā)布前,Netscape將其更名為JavaScript,目的是為了利用Java這個(gè)因特網(wǎng)時(shí)髦詞匯。Netspace的賭注最終得到回報(bào),JavaScript從此變成了因特網(wǎng)的必備組件。

ECMAScript標(biāo)準(zhǔn)

因?yàn)镴avaScript 1.0如此成功,Netscape在Netscape Navigator 3.0中發(fā)布了1.1版。恰巧那個(gè)時(shí)候,微軟決定進(jìn)軍瀏覽器,發(fā)布了IE 3.0 并搭載了一個(gè)JavaScript的克隆版,叫做JScript(這樣命名是為了避免與Netscape潛在的許可糾紛)。微軟步入Web瀏覽器領(lǐng)域的這重要一步雖然令其聲名狼藉,但也成為JavaScript語(yǔ)言發(fā)展過(guò)程中的重要一步。

在微軟進(jìn)入后,有3種不同的JavaScript版本同時(shí)存在:Netscape Navigator 3.0中的JavaScript、IE中的JScript以及CEnvi中的ScriptEase。與C和其他編程語(yǔ)言不同的是,JavaScript并沒(méi)有一個(gè)標(biāo)準(zhǔn)來(lái)統(tǒng)一其語(yǔ)法或特性,而這3種不同的版本恰恰突出了這個(gè)問(wèn)題。隨著業(yè)界擔(dān)心的增加,這個(gè)語(yǔ)言標(biāo)準(zhǔn)化顯然已經(jīng)勢(shì)在必行。1997年,JavaScript 1.1作為一個(gè)草案提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA),由來(lái)自Netscape、Sun、微軟、Borland和其他一些對(duì)腳本編程感興趣的公司的程序員組成的TC39錘煉出了ECMA-262,該標(biāo)準(zhǔn)定義了叫做ECMAScript的全新腳本語(yǔ)言。從此,Web瀏覽器就開(kāi)始努力(雖然有著不同程度的成功和失敗)將ECMAScript作為JavaScript實(shí)現(xiàn)的基礎(chǔ)。

盡管ECMAScript是一個(gè)重要的標(biāo)準(zhǔn),但它并不是JavaScript唯一的部分,當(dāng)然,也不是唯一被標(biāo)準(zhǔn)化的部分。實(shí)際上,一個(gè)完整的JavaScript實(shí)現(xiàn)是由以下3個(gè)不同部分組成的

•核心(ECMAScript)——JavaScript的核心ECMAScript描述了該語(yǔ)言的語(yǔ)法和基本對(duì)象

•文檔對(duì)象模型(DOM)——DOM描述了處理網(wǎng)頁(yè)內(nèi)容的方法和接口

•瀏覽器對(duì)象模型(BOM)——BOM描述了與瀏覽器進(jìn)行交互的方法和接口

JavaScript版本歷史

由于歷史原因及技術(shù)的不斷發(fā)展,JavaScript版本眾多,各種瀏覽器的實(shí)現(xiàn)情況也不一樣,筆者根據(jù)各方面的信息整理了一下JavaScript的各個(gè)版本及對(duì)應(yīng)瀏覽器的實(shí)現(xiàn)情況,這也是這篇文章的主要目的,歡迎大家提供意見(jiàn),一起完善。

版本 發(fā)布日期 基于 Netscape Navigator Mozilla Firefox Internet Explorer
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月發(fā)布)/ ECMA-262 第二版 (1998年6月發(fā)布) 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月發(fā)布) 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  
1.7 2006年10月 1.6 + Pythonic generators + Iterators + let   2.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.2 2010年7月 1.8.1 + ECMAScript 5 Compliance   4 9
2.0 制定中 ECMAScript Harmony      

特別說(shuō)明:

1.當(dāng)Netscape 將它的源代碼作為Mozilla 項(xiàng)目公布于眾時(shí),本來(lái)計(jì)劃JavaScript 1.4 將會(huì)嵌入到Netscape Navigator 5.0 中。然而,一個(gè)冒進(jìn)的決定——要完全從頭重新設(shè)計(jì)Netscape 的代碼,破壞了這個(gè)工作。 JavaScript 1.4 僅僅作為一個(gè)Netscape Enterprise Server 的服務(wù)器端腳本語(yǔ)言發(fā)布,以后也沒(méi)有被放入瀏覽器中。

2.E4X(ECMAScript for XML)是一種在ECMAScript(見(jiàn)ECMA-262,包括ActionScript、JavaScript等語(yǔ)言實(shí)現(xiàn))標(biāo)準(zhǔn)的基礎(chǔ)上加入的動(dòng)態(tài)XML支持的程序語(yǔ)言擴(kuò)展。E4X的目的是作為DOM接口之外的另一個(gè)選擇。它可以使程序員在ECMAScript腳本中通過(guò)更簡(jiǎn)潔的語(yǔ)法來(lái)訪問(wèn)XML文檔。同時(shí),它也為實(shí)現(xiàn)腳本中XML可視化提供了一種新方法。

3.從 IE 5.5 版本發(fā)布開(kāi)始,微軟就沒(méi)有更新過(guò)它基于瀏覽器的JavaScript實(shí)現(xiàn)策略,但在.NET Framework 中包含了JScript.NET作為ECMAScript 4的實(shí)現(xiàn),其中添加了一些特定于微軟的功能,它不能作為客戶端腳本語(yǔ)言在IE中使用,只能用在ASP.NET中作為服務(wù)器端語(yǔ)言或者獨(dú)立應(yīng)用程序來(lái)用。與其它的JavaScript版本不同,JSscript.NET是編譯型語(yǔ)言,可以獨(dú)立的可執(zhí)行文件。

4.ECMAScript Harmony其實(shí)是包含JavaScript 2.0在內(nèi)的ECMAScript第四版的一個(gè)臨時(shí)新命名(未來(lái)可能是ECMAScript第六版?),ECMAScript第五版則是獨(dú)立開(kāi)發(fā)的ECMAScript 3.1語(yǔ)言的后期命名。

5.如今,所有的主流 Web 瀏覽器都遵守 ECMA-262 第三版,即實(shí)現(xiàn)的是JavaScript 1.5版,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升級(jí)至JavaScript 2.0的臨時(shí)代號(hào)。

檢測(cè)JavaScript版本

下面是測(cè)試代碼可以測(cè)試你當(dāng)前瀏覽器支持的JavaScrpt版本,在IE8中測(cè)試,提示說(shuō)支持的版本是1.3,奇怪?

原文:http://www.cnblogs.com/lhb25/archive/2011/01/16/1936669.html

【編輯推薦】

  1. 8個(gè)***的JavaScript腳本資源強(qiáng)烈推薦
  2. 10個(gè)強(qiáng)大的JavaScript表單驗(yàn)證插件
  3. JavaScript將成為計(jì)算機(jī)學(xué)習(xí)***語(yǔ)言
  4. 20個(gè)將JavaScript推到***的網(wǎng)站
  5. JavaScript中的陷阱大集合
責(zé)任編輯:陳貽新 來(lái)源: 夢(mèng)想天空
相關(guān)推薦

2016-08-28 15:55:04

Hadoop大數(shù)據(jù)

2017-08-08 15:40:26

OpenStack轉(zhuǎn)型基金會(huì)

2020-05-26 11:17:34

區(qū)塊鏈金融技術(shù)

2023-03-21 11:24:44

eSIM移動(dòng)通信

2017-03-22 20:36:34

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2021-08-16 08:44:54

Pravega Fli項(xiàng)目協(xié)議

2022-05-17 16:13:31

區(qū)塊鏈以太坊監(jiān)管

2021-07-16 10:05:34

項(xiàng)目企業(yè)系統(tǒng)

2009-05-15 17:23:56

2022-07-14 08:17:59

中間件微服務(wù)開(kāi)發(fā)

2019-09-08 17:37:47

2024-12-18 07:45:18

2020-11-17 13:00:37

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)應(yīng)用

2017-11-24 13:51:40

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)分析

2021-08-12 10:25:55

人工智能AI人工智能技術(shù)

2018-08-06 13:25:28

人工智能深度學(xué)習(xí)芯片

2020-10-13 09:23:57

LinuxKernel調(diào)度器

2020-11-30 11:06:52

數(shù)據(jù)中心數(shù)據(jù)中心融合

2018-08-09 20:41:29

人工智能AI神經(jīng)網(wǎng)絡(luò)

2012-06-25 14:57:27

HTML5
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)