JavaScript
JavaScript(通常縮寫為JS)是一種高級的、解釋型的編程語言。JavaScript是一門基於原型、函數先行的語言,是一門多範式的語言,它支持面向對象編程,命令式編程,以及函數式編程。它提供語法來操控文本、數組、日期以及正則表達式等,不支持I/O,比如網絡、存儲和圖形等,但這些都可以由它的宿主環境提供支持。它已經由ECMA(歐洲電腦製造商協會)通過ECMAScript實現語言的標準化。它被世界上的絕大多數網站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持[1]。
雖然JavaScript與Java這門語言不管是在名字上,或是在語法上都有很多相似性,但這兩門編程語言從設計之初就有很大的不同,JavaScript的語言設計主要受到了Self(一種基於原型的編程語言)和Scheme(一門函數式編程語言)的影響。在語法結構上它又與C語言有很多相似(例如if條件語句、switch語句、while循環、do-while循環等)。
在客戶端,JavaScript在傳統意義上被實現為一種解釋語言,但在最近,它已經可以被即時編譯(JIT)執行。隨着最新的HTML5和CSS3語言標準的推行它還可用於遊戲、桌面和移動應用程序的開發和在服務器端網絡環境運行,如Node.js。
目錄
肇始於網景
1993年,伊利諾伊大學厄巴納-尚佩恩分校的國家超級電腦應用中心(NCSA)發表了NCSA Mosaic,這是最早流行的圖形接口網頁瀏覽器,它在萬維網的普及上發揮了重要作用。1994年,一家名為Mosaic Communications的公司在加州芒廷維尤成立了,並雇用了許多原來的NCSA Mosaic開發者用來開發Mosaic Netscape,該公司的目標是取代NCSA Mosaic成為世界第一的網頁瀏覽器。第一個版本的網頁瀏覽器Mosaic Netscape 0.9於1994年底發布。在四個月內,已經占據了四分之三的瀏覽器市場,並成為1990年代互聯網的主要瀏覽器。為避免NCSA的商標所有權問題,該瀏覽器於同年更名為Netscape Navigator,該公司命名為Netscape Communications。網景預見到網絡需要變得更動態。公司的創始人馬克·安德森認為HTML需要一種膠水語言,讓網頁設計師和兼職程序員可以很容易地使用它來組裝圖片和插件之類的組件,且代碼可以直接編寫在網頁標記中。
1995年,網景招募了布蘭登·艾克,目標是把Scheme語言嵌入到Netscape Navigator瀏覽器當中。但更早之前,網景已經跟昇陽合作在Netscape Navigator中支持Java,這時網景內部產生激烈的爭論。後來網景決定發明一種與Java搭配使用的輔助腳本語言並且語法上有些類似,這個決策導致排除了採用現有的語言,例如Perl、Python、Tcl或Scheme。為了在其他競爭提案中捍衛JavaScript這個想法,公司需要有一個可以運作的原型。艾克在1995年5月僅花了十天時間就把原型設計出來了。
最初命名為Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名為LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署時被重命名為JavaScript,當時網景公司與昇陽電腦公司組成的開發聯盟為了讓這門語言搭上Java這個編程語言「熱詞」,因此將其臨時改名為JavaScript,日後這成為大眾對這門語言有諸多誤解的原因之一。
微軟採納
JavaScript推出後在瀏覽器上大獲成功,微軟公司在不久後就為Internet Explorer 3瀏覽器推出了JScript,以與處於市場領導地位的網景產品同台競爭。JScript也是一種JavaScript實現,這兩個JavaScript語言版本在瀏覽器端共存意味着語言標準化的缺失,發展初期,JavaScript的標準並未確定,同期有網景的JavaScript,微軟的JScript雙峰並峙。除此之外,微軟也在網頁技術上加入了不少專屬對象,使不少網頁使用非微軟平台及瀏覽器無法正常顯示,導致在瀏覽器大戰期間網頁設計者通常會把「用Netscape可達到最佳效果」或「用IE可達到最佳效果」的標誌放在主頁。隨着Internet Explorer 4的發布,微軟引入了動態HTML的概念,但語言實現和不同專有化的文檔對象模型的差異仍然存在,成為網絡上普及使用JavaScript的阻礙。
標準化
1996年11月,網景正式向ECMA(歐洲計算機製造商協會)提交語言標準[2]。1997年6月,ECMA以JavaScript語言為基礎制定了ECMAScript標準規範ECMA-262。JavaScript成為了ECMAScript最著名的實現之一。除此之外,ActionScript和JScript也都是ECMAScript規範的實現語言。儘管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。
視頻
JavaScript 相關視頻
參考文獻
- ↑ JavaScript的出現,知乎,2020-6-6
- ↑ ECMAScript 是什麼,淚雪網 ,2019-6-28