JavaScript的追根溯源


Netscape發(fā)明了JavaScript

當(dāng)Netscape Navigator嶄露頭角時(shí)槐脏,Nombas開發(fā)了一個(gè)可以嵌入網(wǎng)頁(yè)中的CEnvi的版本喉童。這些早期的試驗(yàn)被稱為Espresso Page(濃咖啡般的頁(yè)面),它們代表了第一個(gè)在萬(wàn)維網(wǎng)上使用的客戶端語(yǔ)言顿天。而Nombas絲毫沒(méi)有料到它的理念將會(huì)成為萬(wàn)維網(wǎng)的一塊重要基石堂氯。

當(dāng)網(wǎng)上沖浪越來(lái)越流行時(shí),對(duì)于開發(fā)客戶端腳本的需求也逐漸增大牌废。此時(shí)咽白,大部分因特網(wǎng)用戶還僅僅通過(guò)28.8 kbit/s的調(diào)制解調(diào)器連接到網(wǎng)絡(luò),即便這時(shí)網(wǎng)頁(yè)已經(jīng)不斷地變得更大和更復(fù)雜鸟缕。而更加加劇用戶痛苦的是晶框,僅僅為了簡(jiǎn)單的表單有效性驗(yàn)證,就要與服務(wù)器進(jìn)行多次地往返交互叁扫。設(shè)想一下三妈,用戶填完一個(gè)表單,點(diǎn)擊提交按鈕莫绣,等待了30秒的處理后畴蒲,看到的卻是一條告訴你忘記填寫一個(gè)必要的字段。

那時(shí)正處于技術(shù)革新最前沿的Netscape对室,開始認(rèn)真考慮開發(fā)一種客戶端腳本語(yǔ)言來(lái)解決簡(jiǎn)單的處理問(wèn)題模燥。

當(dāng)時(shí)工作于Netscape的Brendan Eich咖祭,開始著手為即將在1995年發(fā)行的Netscape Navigator 2.0開發(fā)一個(gè)稱之為L(zhǎng)iveScript的腳本語(yǔ)言,當(dāng)時(shí)的目的是在瀏覽器和服務(wù)器(本來(lái)要叫它LiveWire)端使用它蔫骂。Netscape與Sun及時(shí)完成LiveScript實(shí)現(xiàn)么翰。

就在Netscape Navigator 2.0即將正式發(fā)布前,Netscape將其更名為JavaScript辽旋,目的是為了利用Java這個(gè)因特網(wǎng)時(shí)髦詞匯浩嫌。Netscape的賭注最終得到回報(bào),JavaScript從此變成了因特網(wǎng)的必備組件补胚。

鼎足三分的天下大勢(shì)

因?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ì)在必行。

標(biāo)準(zhǔn)化的開始

1997年贷掖,JavaScript 1.1作為一個(gè)草案提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)嫡秕。第39技術(shù)委員會(huì)(TC39)被委派來(lái)“標(biāo)準(zhǔn)化一個(gè)通用、跨平臺(tái)苹威、中立于廠商的腳本語(yǔ)言的語(yǔ)法和語(yǔ)義”(http://www.ecma-international.org/memento/TC39.htm)昆咽。由來(lái)自Netscape、Sun牙甫、微軟掷酗、Borland和其他一些對(duì)腳本編程感興趣的公司的程序員組成的TC39錘煉出了ECMA-261,該標(biāo)準(zhǔn)定義了名為ECMAScript的全新腳本語(yǔ)言。

在接下來(lái)的幾年里,國(guó)際標(biāo)準(zhǔn)化組織及國(guó)際電工委員會(huì)(ISO/IEC)也采納ECMAScript作為標(biāo)準(zhǔn)(ISO/IEC-16262)找蜜。從此规惰,Web瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將ECMAScript作為JavaScript實(shí)現(xiàn)的基礎(chǔ)怨咪。

Web瀏覽器中的ECMAScript的演變

含有JavaScript 1.1的Netscape Navigator 3.0在1996年發(fā)布牍颈。然后插勤,JavaScript 1.1規(guī)范被作為一個(gè)新標(biāo)準(zhǔn)的草案被提交給EMCA泳挥。有了JavaScript轟動(dòng)性的流行然痊,Netscape十分高興地開始開發(fā)1.2版。但有一個(gè)問(wèn)題屉符,ECMA并未接受Netscape的草案剧浸。在Netscape Navigator 3.0發(fā)布后不久,微軟就發(fā)布了IE 3.0矗钟。該版本的IE含有JScript 1.0(微軟自己的JavaScript實(shí)現(xiàn)的名稱)唆香,原本計(jì)劃可以與JavaScript 1.1相提并論。然后真仲,由于文檔不全以及一些不當(dāng)?shù)闹貜?fù)特性袋马,JScript1.0遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到JavaScript 1.1的水平。

ECMA-262第一版定稿之前秸应,發(fā)布含有JavaScript 1.2的Netscape Navigator 4.0是在1997年虑凛,在那年晚些時(shí)候,ECMA-262標(biāo)準(zhǔn)被接受并標(biāo)準(zhǔn)化软啼。因此桑谍,JavaScript 1.2并不和ECMAScript的第一版兼容,雖然ECMAScript應(yīng)該基于JavaScript 1.1祸挪。

JScript的下一步是IE 4.0中加入的JScript 3.0(2.0版是隨IIS 3.0一起發(fā)布的锣披,但并未包含在瀏覽器中)。微軟大力宣傳JScript 3.0是世界上第一個(gè)真正符合ECMA標(biāo)準(zhǔn)的腳本語(yǔ)言贿条。而那時(shí)雹仿,ECMA-262還沒(méi)有最終定稿,所以JScript 3.0也遭受了和JavaScript 1.2同樣的命運(yùn)-它還是沒(méi)能符合最終的ECMAScript標(biāo)準(zhǔn)整以。

Netscape選擇在Netscape Navigator 4.06中升級(jí)它的JavaScript實(shí)現(xiàn)胧辽。JavaScript 1.3使Netscape終于完全符合了ECMAScript第一版。Netscape加入了對(duì)Unicode標(biāo)準(zhǔn)的支持公黑,并讓所有的對(duì)象保留了在JavaScript 1.2中引入的新特性的同時(shí)實(shí)現(xiàn)了平臺(tái)獨(dú)立邑商。

當(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)有被放入瀏覽器中。

如今芹务,所有主流的Web瀏覽器都遵守ECMA-262第五版蝉绷,同時(shí)ES6\ES7也已經(jīng)被廣泛的使用鸭廷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市熔吗,隨后出現(xiàn)的幾起案子辆床,更是在濱河造成了極大的恐慌,老刑警劉巖桅狠,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讼载,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡中跌,警方通過(guò)查閱死者的電腦和手機(jī)咨堤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)漩符,“玉大人一喘,你說(shuō)我怎么就攤上這事∈缺” “怎么了凸克?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)闷沥。 經(jīng)常有香客問(wèn)我萎战,道長(zhǎng),這世上最難降的妖魔是什么舆逃? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任蚂维,我火速辦了婚禮,結(jié)果婚禮上路狮,老公的妹妹穿的比我還像新娘虫啥。我一直安慰自己,他們只是感情好奄妨,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布孝鹊。 她就那樣靜靜地躺著,像睡著了一般展蒂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苔咪,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天锰悼,我揣著相機(jī)與錄音,去河邊找鬼团赏。 笑死箕般,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的舔清。 我是一名探鬼主播丝里,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼曲初,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了杯聚?” 一聲冷哼從身側(cè)響起臼婆,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幌绍,沒(méi)想到半個(gè)月后颁褂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡傀广,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年颁独,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伪冰。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡誓酒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贮聂,到底是詐尸還是另有隱情靠柑,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布寂汇,位于F島的核電站病往,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏骄瓣。R本人自食惡果不足惜停巷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榕栏。 院中可真熱鬧畔勤,春花似錦、人聲如沸扒磁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妨托。三九已至缸榛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兰伤,已是汗流浹背内颗。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敦腔,地道東北人均澳。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親找前。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糟袁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • title: JavaScript的歷史layout: pagecategory: introductiondat...
    ichengzi閱讀 4,445評(píng)論 0 23
  • 1.1.JavaScript由來(lái) Netscape發(fā)明了JavaScript JavaScript由Netscap...
    Michael_林閱讀 343評(píng)論 0 1
  • 今天普高和職高的通知書都來(lái)了,孩子們向高彩烈的來(lái)拿自己的通知書和畢業(yè)證等材料躺盛。拿了一中通知書的要做好學(xué)習(xí)的準(zhǔn)...
    蓋金輝教育碎思閱讀 354評(píng)論 0 3
  • 一旦心自由了项戴,便停不下來(lái)。 心被打開了個(gè)口颗品,整個(gè)人像破殼的鳥兒肯尺,想即刻沖向自由廣闊的天空,無(wú)拘無(wú)束應(yīng)該是最令鳥神往的躯枢。
    溫暖dream閱讀 140評(píng)論 0 1
  • 哈兒锄蹂,不要被這個(gè)標(biāo)題嚇到氓仲。我已經(jīng)沒(méi)事了,等幾天再去復(fù)查就好了得糜。 這幾天就只有苦了我的胃了敬扛。 有一天,我不在了你會(huì)來(lái)...
    xiao錢錢閱讀 278評(píng)論 0 0