JavaScript 的誕生

始于網(wǎng)景

1994年掸掸,一家名為Mosaic Communications的公司在加州芒廷維尤成立了缸濒,并雇用了許多原來的NCSA Mosaic開發(fā)者用來開發(fā)Mosaic Netscape吟吝,該公司的目標(biāo)是取代NCSA Mosaic成為世界第一的網(wǎng)頁瀏覽器梭姓。

  • 1994年底褥民,第一個(gè)版本的網(wǎng)頁瀏覽器Mosaic Netscape 0.9發(fā)布涤伐。在四個(gè)月內(nèi)盔憨,已經(jīng)占據(jù)了四分之三的瀏覽器市場徙菠,并成為1990年代互聯(lián)網(wǎng)的主要瀏覽器。但是郁岩,這個(gè)版本的瀏覽器只能用來瀏覽婿奔,不具備與訪問者互動(dòng)的能力。所以網(wǎng)景公司急需一種網(wǎng)頁腳本語言问慎,使得瀏覽器可以與訪問者互動(dòng)萍摊。
  • 1995年,網(wǎng)景招募了Brendan Eich(布蘭登·艾克)如叼,目標(biāo)是把Scheme語言嵌入到Netscape Navigator瀏覽器當(dāng)中冰木。但更早之前,網(wǎng)景已經(jīng)跟昇陽合作在Netscape Navigator中支持Java,這時(shí)網(wǎng)景內(nèi)部產(chǎn)生激烈的爭論踊沸。后來網(wǎng)景決定發(fā)明一種與Java搭配使用的輔助腳本語言并且語法上有些類似歇终,這個(gè)決策導(dǎo)致排除了采用現(xiàn)有的語言,例如Perl逼龟、Python评凝、Tcl或Scheme。為了在其他競爭提案中捍衛(wèi)JavaScript這個(gè)想法腺律,公司需要有一個(gè)可以運(yùn)作的原型肥哎。

Brendan Eich(布蘭登·艾克)在1995年5月僅花了十天時(shí)間就把原型設(shè)計(jì)出來了。但是疾渣,他對(duì)Java一點(diǎn)興趣也沒有篡诽。為了應(yīng)付公司安排的任務(wù),他只用10天時(shí)間就把Javascript設(shè)計(jì)出來了榴捡。由于設(shè)計(jì)時(shí)間太短杈女,語言的一些細(xì)節(jié)考慮得不夠嚴(yán)謹(jǐn),導(dǎo)致后來很長一段時(shí)間吊圾,Javascript寫出來的程序混亂不堪达椰。
總的來說,他的設(shè)計(jì)思路是這樣的:

  • 借鑒C語言的基本語法;
  • 借鑒Java語言的數(shù)據(jù)類型和內(nèi)存管理;
  • 借鑒Scheme語言项乒,將函數(shù)提升到"第一等公民"(first class)的地位;
  • 借鑒Self語言啰劲,使用基于原型(prototype)的繼承機(jī)制。

所以檀何,Javascript語言實(shí)際上是兩種語言風(fēng)格的混合產(chǎn)物----(簡化的)函數(shù)式編程+(簡化的)面向?qū)ο缶幊逃恪_@是由Brendan Eich(函數(shù)式編程)與網(wǎng)景公司(面向?qū)ο缶幊蹋┕餐瑳Q定的。

最初命名為Mocha频鉴,1995年9月在Netscape Navigator 2.0的Beta版中改名為LiveScript栓辜,同年12月,Netscape Navigator 2.0 Beta 3中部署時(shí)被重命名為JavaScript垛孔,當(dāng)時(shí)網(wǎng)景公司與昇陽電腦公司組成的開發(fā)聯(lián)盟為了讓這門語言搭上Java這個(gè)編程語言“熱詞”藕甩,因此將其臨時(shí)改名為JavaScript,日后這成為大眾對(duì)這門語言有諸多誤解的原因之一周荐。

微軟采納

JavaScript推出后在瀏覽器上大獲成功狭莱,微軟公司在不久后就為Internet Explorer 3瀏覽器推出了JScript,以與處于市場領(lǐng)導(dǎo)地位的網(wǎng)景產(chǎn)品同臺(tái)競爭概作。

JScript也是一種JavaScript實(shí)現(xiàn)腋妙,這兩個(gè)JavaScript語言版本在瀏覽器端共存意味著語言標(biāo)準(zhǔn)化的缺失,發(fā)展初期仆嗦,JavaScript的標(biāo)準(zhǔn)并未確定辉阶,同期有網(wǎng)景的JavaScript,微軟的JScript雙峰并峙。除此之外谆甜,微軟也在網(wǎng)頁技術(shù)上加入了不少專屬對(duì)象垃僚,使不少網(wǎng)頁使用非微軟平臺(tái)及瀏覽器無法正常顯示,導(dǎo)致在瀏覽器大戰(zhàn)期間網(wǎng)頁設(shè)計(jì)者通常會(huì)把“用Netscape可達(dá)到最佳效果”或“用IE可達(dá)到最佳效果”的標(biāo)志放在主頁规辱。

隨著Internet Explorer 4的發(fā)布谆棺,微軟引入了動(dòng)態(tài)HTML的概念,但語言實(shí)現(xiàn)和不同專有化的文檔對(duì)象模型的差異仍然存在罕袋,成為網(wǎng)絡(luò)上普及使用JavaScript的阻礙改淑。

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

  • 1996年11月,網(wǎng)景正式向ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))提交語言標(biāo)準(zhǔn)浴讯。
  • 1997年6月朵夏,ECMA以JavaScript語言為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)規(guī)范ECMA-262。

JavaScript成為了ECMAScript最著名的實(shí)現(xiàn)之一榆纽。除此之外仰猖,ActionScript和JScript也都是ECMAScript規(guī)范的實(shí)現(xiàn)語言。盡管JavaScript作為給非程序人員的腳本語言奈籽,而非作為給程序人員的腳本語言來推廣和宣傳饥侵,但是JavaScript具有非常豐富的特性。

發(fā)展

  • 1996年8月衣屏,微軟發(fā)布了IE3躏升,推出JScript(其實(shí)與JavaScript相似)。
  • 1996年11月狼忱,網(wǎng)景公司開始反擊膨疏,正式向ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))提交語言標(biāo)準(zhǔn)。
  • 1997年6月藕赞,第一個(gè)國際標(biāo)準(zhǔn)ECMA-262正式頒布成肘。
  • 1999年12月,發(fā)布了第三版斧蜕,使用最廣,之后第四版流產(chǎn)砚偶。
  • 2009年12月批销,第五版發(fā)布,增加了一些功能(由于瀏覽器大戰(zhàn)染坯,導(dǎo)致JavaScript的緩慢發(fā)展)均芽。
  • 2015年6月,第六版發(fā)布单鹿,新瀏覽器都支持這一版掀宋。
  • 之后每年更新一版,版本號(hào)以年份命名。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末劲妙,一起剝皮案震驚了整個(gè)濱河市湃鹊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镣奋,老刑警劉巖币呵,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異侨颈,居然都是意外死亡余赢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門哈垢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妻柒,“玉大人,你說我怎么就攤上這事耘分「蛏荩” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵陶贼,是天一觀的道長啤贩。 經(jīng)常有香客問我,道長拜秧,這世上最難降的妖魔是什么痹屹? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮枉氮,結(jié)果婚禮上志衍,老公的妹妹穿的比我還像新娘。我一直安慰自己聊替,他們只是感情好楼肪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惹悄,像睡著了一般春叫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泣港,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天暂殖,我揣著相機(jī)與錄音,去河邊找鬼当纱。 笑死呛每,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坡氯。 我是一名探鬼主播晨横,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼洋腮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了手形?” 一聲冷哼從身側(cè)響起啥供,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叁幢,沒想到半個(gè)月后滤灯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曼玩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年鳞骤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍判。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豫尽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出顷帖,到底是詐尸還是另有隱情美旧,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布贬墩,位于F島的核電站榴嗅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏陶舞。R本人自食惡果不足惜嗽测,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肿孵。 院中可真熱鬧唠粥,春花似錦、人聲如沸停做。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉腌。三九已至官份,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間眉抬,已是汗流浹背贯吓。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜀变,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓介评,卻偏偏與公主長得像库北,于是被迫代替她去往敵國和親爬舰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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

  • 概述JavaScript(通澈撸縮寫為JS)是一種高級(jí)的情屹、解釋型的編程語言。JavaScript是一門基于原型杂腰、函數(shù)...
    pang猴子閱讀 328評(píng)論 0 0
  • 一垃你、JavaScript的簡述 1.JavaScript的發(fā)明者 布蘭登·艾克(英語:Brendan Eich,1...
    我愚蠢的理想主義啊閱讀 266評(píng)論 0 0
  • JavaScript的歷史: 它最初由Netscape的Brendan Eich設(shè)計(jì)喂很。JavaScript是甲骨文...
    安先森_57ce閱讀 425評(píng)論 0 0
  • JavaScript(簡稱“JS”) 是一種具有函數(shù)優(yōu)先的輕量級(jí)惜颇,解釋型或即時(shí)編譯型的編程語言。雖然它是作為開發(fā)W...
    蒟蒻_585a閱讀 163評(píng)論 0 0
  • 1.前情提要 1994年少辣,網(wǎng)景公司(Netscape)發(fā)布了Navigator瀏覽器0.9版凌摄。這是歷史上第一個(gè)比較...
    Prayx閱讀 325評(píng)論 0 0